{
  "contractName": "IexecAccessorsDelegate",
  "abi": [
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "name",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "symbol",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "decimals",
      "outputs": [
        {
          "internalType": "uint8",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "totalSupply",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "frozenOf",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "spender",
          "type": "address"
        }
      ],
      "name": "allowance",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "viewAccount",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "stake",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "locked",
              "type": "uint256"
            }
          ],
          "internalType": "struct IexecLibCore_v5.Account",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "token",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "viewDeal",
      "outputs": [
        {
          "components": [
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "pointer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "owner",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "price",
                  "type": "uint256"
                }
              ],
              "internalType": "struct IexecLibCore_v5.Resource",
              "name": "app",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "pointer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "owner",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "price",
                  "type": "uint256"
                }
              ],
              "internalType": "struct IexecLibCore_v5.Resource",
              "name": "dataset",
              "type": "tuple"
            },
            {
              "components": [
                {
                  "internalType": "address",
                  "name": "pointer",
                  "type": "address"
                },
                {
                  "internalType": "address",
                  "name": "owner",
                  "type": "address"
                },
                {
                  "internalType": "uint256",
                  "name": "price",
                  "type": "uint256"
                }
              ],
              "internalType": "struct IexecLibCore_v5.Resource",
              "name": "workerpool",
              "type": "tuple"
            },
            {
              "internalType": "uint256",
              "name": "trust",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "category",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "tag",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "requester",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "beneficiary",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "callback",
              "type": "address"
            },
            {
              "internalType": "string",
              "name": "params",
              "type": "string"
            },
            {
              "internalType": "uint256",
              "name": "startTime",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "botFirst",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "botSize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "workerStake",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "schedulerRewardRatio",
              "type": "uint256"
            }
          ],
          "internalType": "struct IexecLibCore_v5.Deal",
          "name": "deal",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "viewConsumed",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "consumed",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_id",
          "type": "bytes32"
        }
      ],
      "name": "viewPresigned",
      "outputs": [
        {
          "internalType": "address",
          "name": "signer",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_taskid",
          "type": "bytes32"
        }
      ],
      "name": "viewTask",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum IexecLibCore_v5.TaskStatusEnum",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "bytes32",
              "name": "dealid",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "idx",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "timeref",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "contributionDeadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "revealDeadline",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "finalDeadline",
              "type": "uint256"
            },
            {
              "internalType": "bytes32",
              "name": "consensusValue",
              "type": "bytes32"
            },
            {
              "internalType": "uint256",
              "name": "revealCounter",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "winnerCounter",
              "type": "uint256"
            },
            {
              "internalType": "address[]",
              "name": "contributors",
              "type": "address[]"
            },
            {
              "internalType": "bytes32",
              "name": "resultDigest",
              "type": "bytes32"
            },
            {
              "internalType": "bytes",
              "name": "results",
              "type": "bytes"
            },
            {
              "internalType": "uint256",
              "name": "resultsTimestamp",
              "type": "uint256"
            }
          ],
          "internalType": "struct IexecLibCore_v5.Task",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "_taskid",
          "type": "bytes32"
        },
        {
          "internalType": "address",
          "name": "_worker",
          "type": "address"
        }
      ],
      "name": "viewContribution",
      "outputs": [
        {
          "components": [
            {
              "internalType": "enum IexecLibCore_v5.ContributionStatusEnum",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "bytes32",
              "name": "resultHash",
              "type": "bytes32"
            },
            {
              "internalType": "bytes32",
              "name": "resultSeal",
              "type": "bytes32"
            },
            {
              "internalType": "address",
              "name": "enclaveChallenge",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "weight",
              "type": "uint256"
            }
          ],
          "internalType": "struct IexecLibCore_v5.Contribution",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_worker",
          "type": "address"
        }
      ],
      "name": "viewScore",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        }
      ],
      "name": "resultFor",
      "outputs": [
        {
          "internalType": "bytes",
          "name": "",
          "type": "bytes"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_catid",
          "type": "uint256"
        }
      ],
      "name": "viewCategory",
      "outputs": [
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "description",
              "type": "string"
            },
            {
              "internalType": "uint256",
              "name": "workClockTimeRef",
              "type": "uint256"
            }
          ],
          "internalType": "struct IexecLibCore_v5.Category",
          "name": "category",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "countCategory",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "count",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "appregistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "datasetregistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "workerpoolregistry",
      "outputs": [
        {
          "internalType": "contract IRegistry",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "teebroker",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "callbackgas",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "contribution_deadline_ratio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "reveal_deadline_ratio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "final_deadline_ratio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "workerpool_stake_ratio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "kitty_ratio",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "kitty_min",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "kitty_address",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "groupmember_purpose",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    },
    {
      "inputs": [],
      "name": "eip712domain_separator",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function",
      "constant": true
    }
  ],
  "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"appregistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"callbackgas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"contribution_deadline_ratio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"countCategory\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"count\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"datasetregistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712domain_separator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"final_deadline_ratio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"frozenOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"groupmember_purpose\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kitty_address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kitty_min\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"kitty_ratio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"id\",\"type\":\"bytes32\"}],\"name\":\"resultFor\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"reveal_deadline_ratio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"teebroker\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"viewAccount\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"stake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"locked\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Account\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_catid\",\"type\":\"uint256\"}],\"name\":\"viewCategory\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"workClockTimeRef\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Category\",\"name\":\"category\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewConsumed\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"consumed\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_taskid\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"viewContribution\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IexecLibCore_v5.ContributionStatusEnum\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"resultHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"resultSeal\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"enclaveChallenge\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Contribution\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewDeal\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"pointer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Resource\",\"name\":\"app\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"pointer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Resource\",\"name\":\"dataset\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"pointer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Resource\",\"name\":\"workerpool\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"trust\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"category\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tag\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"requester\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"beneficiary\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"callback\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"startTime\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"botFirst\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"botSize\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"workerStake\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"schedulerRewardRatio\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Deal\",\"name\":\"deal\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_id\",\"type\":\"bytes32\"}],\"name\":\"viewPresigned\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_worker\",\"type\":\"address\"}],\"name\":\"viewScore\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_taskid\",\"type\":\"bytes32\"}],\"name\":\"viewTask\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IexecLibCore_v5.TaskStatusEnum\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"dealid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timeref\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"contributionDeadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"revealDeadline\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"finalDeadline\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"consensusValue\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"revealCounter\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"winnerCounter\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"contributors\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"resultDigest\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"results\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"resultsTimestamp\",\"type\":\"uint256\"}],\"internalType\":\"struct IexecLibCore_v5.Task\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"workerpool_stake_ratio\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"workerpoolregistry\",\"outputs\":[{\"internalType\":\"contract IRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecAccessorsDelegate.sol\":\"IexecAccessorsDelegate\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/Store.sol\":{\"keccak256\":\"0x9e49d21b9e009a5b6e7a800ba71973a7e4ff96d5e806d67abaf9c2e8b6652532\",\"urls\":[\"bzz-raw://680a708e1a537b0ca413ac8342ea5e55c2c02ff5dd6d752d085739122955f1c6\",\"dweb:/ipfs/QmUcYhmJSrsNRsvo3W4ZB6DH6YFJHLvg6uLmropgGLTRhh\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibCore_v5.sol\":{\"keccak256\":\"0x2ab8fa750e4d0832afc0b04686e46f020bfe115e5be29b2301f41f97509e2a6f\",\"urls\":[\"bzz-raw://750c1e0aebc8cfd8197561d412d6ae77558362845c3195ac59651139e21bbc7f\",\"dweb:/ipfs/QmPimAbBDdB2Yuw5PuWVQ9qa3BUz4Psrav2Y75Vh3Hmmrr\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/libs/IexecLibOrders_v5.sol\":{\"keccak256\":\"0xf2fece8edb03040a06bc18ff9a7354a57c1762c7fd8e5c353e696dd38b7a2693\",\"urls\":[\"bzz-raw://b758832e3a0c3d168ce75cf9569d78104f90afda4d0d2aca80a6612860c49c66\",\"dweb:/ipfs/QmPdteQJsejwYs8Vq4zAKfLUjSECcrRmS1sT3uotFWXpdZ\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol\":{\"keccak256\":\"0x465d3c959887af4a95487e7b0d8e7e579561ee1c5706957836e0b44698bad697\",\"urls\":[\"bzz-raw://61bc27189149a15383a3e4ff3ff4e10f395065949087eb77834e5f5effaea1d8\",\"dweb:/ipfs/QmesUKUoQ5dSRPKjnb2PYNgYPvBHoKvDvhehr9PPa3uawT\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecAccessorsDelegate.sol\":{\"keccak256\":\"0x746285ee59b2a6fd71d1a5d5973b2ab338bca23822a2ea837b6f5615a3c97650\",\"urls\":[\"bzz-raw://9feba887234fa8173d80e19540a3d5a5e32566c0d04bc0dd9a42461ae0eaa725\",\"dweb:/ipfs/QmTrL71J81kcKbhQWgz6xZ27pNneXonccMya4XkCiXdKo8\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecAccessors.sol\":{\"keccak256\":\"0x6743223ad8f94bc476636ffe9fe3015661e5771fa41e50e3df7c3edc8326da9c\",\"urls\":[\"bzz-raw://625e6046edc254acf5719dc3c344479d5708918ab704ebf4ffd8a75c52229dbc\",\"dweb:/ipfs/QmcGQPcNXzmqDD1PKNbJfSs3nLEpLt1dvXpSU56y6xamhZ\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/IRegistry.sol\":{\"keccak256\":\"0x22cd93dce3ec7f424ca689cdd4d5aa6a7d0d5ff81133c8530c5397f206100b84\",\"urls\":[\"bzz-raw://3a12bb04edc05201d7b0f00d7a401152daaa0ee2fd794a848fd760290edcfffa\",\"dweb:/ipfs/QmXYRdrHLLcutF1JLcKSKiCRMxo5X4713BfXFYM4gzrXWc\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/Registry.sol\":{\"keccak256\":\"0xdf594884fc674966628ebbb2b88bc470c89881fdad988812c815bf371ce8b387\",\"urls\":[\"bzz-raw://2386446324af596f08c0a09a2a9047a1d24187ae19c6d07ad727dfa72ff597c9\",\"dweb:/ipfs/QmYmN8jTjiLmcEKXxFPCouubca8AU92agFt4zMeNpkiLey\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/RegistryEntry.sol\":{\"keccak256\":\"0xc5b8b64b19a7f26bdeda8dce637b65c16388adfdc6a77e02455c74722908ed8b\",\"urls\":[\"bzz-raw://a25ccdaeff6f497a58b6b5fda0f82a53243e51be2f59a8ebd4f3f294a95c9f03\",\"dweb:/ipfs/QmWNqwVbTmdVjYYuEaG32HR8P2fDWbTD6YDGX2B623976a\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/apps/App.sol\":{\"keccak256\":\"0x2fda8eaa946a91bec7b6a6e8b6e39d59dfbf02da48a3390924ccddf6c878765e\",\"urls\":[\"bzz-raw://3f0be3037a792a5feaa5c82185e8c1098f3ceeca14c8f7c733b3a79262da9680\",\"dweb:/ipfs/QmdStYN91aJSXz52YeYRczjaxmEpYoFHZjRd2Rktzu1SEN\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/datasets/Dataset.sol\":{\"keccak256\":\"0x343c0cb970203c54630853190b6535f7170e9e3d32371fb30950c0b73140fb47\",\"urls\":[\"bzz-raw://7ffd18cda40275e7de235d1aa1166410a8e377ef9f1872fa50f58b1053391e03\",\"dweb:/ipfs/QmUkg99KkPyi5DKZNSbyCm9Lw2GMPQW2r7jJkywg4SSqnF\"]},\"/home/amxx/Work/iExec/code/PoCo-dev/contracts/registries/workerpools/Workerpool.sol\":{\"keccak256\":\"0xba54886c81794791a38e974d2b24f0789ad21b2a55a0b65abb63596b4e19d888\",\"urls\":[\"bzz-raw://cc6da6f555b9618d54b5a952ebed60fdd469f26dd938adb3d29fe3c1564465f5\",\"dweb:/ipfs/QmbAKdBrNrjF8YGgWL7LtLhRUH2nwpgD1KBiNE6Xd7Cn4q\"]},\"@ensdomains/ens/contracts/ENS.sol\":{\"keccak256\":\"0x10b88673d8c180cd62523be4fec7607c65594eb4f0c561fa0fbc0784422b4871\",\"urls\":[\"bzz-raw://b3de1882a4a1a1b13c27ee6dc04cc58c34ac392c80cad507de2cdfa8c02712fe\",\"dweb:/ipfs/QmeKcaBF8QdJjXiqFrPJkAtK3et5kUL8XJrnHjwhAThRMT\"]},\"@iexec/interface/contracts/IexecClerk.sol\":{\"keccak256\":\"0x703252a638a5a7e2b600395fd920712a1ac259018bc9578fe581a77fa2f008a9\",\"urls\":[\"bzz-raw://072b9e948e5ac4a7f60466c23b322ea0f1aca711f1a94616e658600c2a4c36a2\",\"dweb:/ipfs/QmRP57bkhWDr5BeawfjiKsbdwFiHnw6nc6zgiEad3hQoSJ\"]},\"@iexec/interface/contracts/IexecHub.sol\":{\"keccak256\":\"0x8e293b7624550823838ed9113400544c5980afac1043ddacad7a862c91b0840d\",\"urls\":[\"bzz-raw://ae34ebc355838595ee69b24a31e60deb186455cc388c88de7ecd0294c7037075\",\"dweb:/ipfs/QmUYVQJBWG7ohAYksJRDJKcJVyPMXNFJSPWMAuQcGfWHo7\"]},\"@iexec/interface/contracts/IexecRegistries.sol\":{\"keccak256\":\"0xb39eef47d62d8751c5adfeaf169ce57b50c480788be8356289bc28b78bc24fde\",\"urls\":[\"bzz-raw://a86593f1ef9953ac0965aab4e764374580a899a7f7871ad66b432523171063a1\",\"dweb:/ipfs/QmcYZhHD45APoS1Ebi416DhXU3fiCzoFW2WSMux4AxhFqk\"]},\"@iexec/interface/contracts/libs/IexecODBLibCore.sol\":{\"keccak256\":\"0x3fc7ff4152e9a8f9747d42e262c15c3d460d409732711d9e1da8a88163880183\",\"urls\":[\"bzz-raw://8bacc98b866852e9f1e3563948381cba142ab61d6b1a7c62fbc53b7d57aa0589\",\"dweb:/ipfs/QmUNjhjBxdtHQFWQ61CgnPoaAzL767tQSKF6x34VFWeRyF\"]},\"@iexec/interface/contracts/libs/IexecODBLibOrders.sol\":{\"keccak256\":\"0xe2848a685785b09dc9ee5a6e6329a417eaf18e520388e8575d45a5376b1d62ca\",\"urls\":[\"bzz-raw://d1385ab26f382baa7aadb80faed54290296be09eeccbee1193a1b8a53b0b15d5\",\"dweb:/ipfs/QmUQTFcGX5VZiYwHKu9Yjc4PHNrMgdAyKwKi6tFEMsbaJk\"]},\"@iexec/solidity/contracts/ENStools/ENSReverseRegistration.sol\":{\"keccak256\":\"0xf3f46b28b19d9132ae78c2a43263c06a73cb042ce25175b732e0c1a41c5bbe5a\",\"urls\":[\"bzz-raw://7ca85a78f3f3eafbef6d72c5cd0c35e5b827c797af786cd170659499a0a2c3be\",\"dweb:/ipfs/QmbHZ8zFsiE1PRh7FKt1pt5jR8F6B8HiZ32Mgc8Py3qCUu\"]},\"@iexec/solidity/contracts/ERC1154/IERC1154.sol\":{\"keccak256\":\"0x542ed19435ffdf4e5f1fbf57f87d26883e04cf96c21c69f7eb691e46c0f6ee5d\",\"urls\":[\"bzz-raw://d7744c331a362162870775cdea560f2db4da1ae6123ca05aba825a8850da37a0\",\"dweb:/ipfs/Qmf3FgPtiUiCA4Mnb9LpGrUciub9RwxniGSRPriRM4hVpc\"]},\"@iexec/solidity/contracts/ERC1538/ERC1538Module.sol\":{\"keccak256\":\"0xb1e1ff5fcce00614303b0bb01c595a7d2f3496ae88bc2068e56ba9cd72ec8921\",\"urls\":[\"bzz-raw://a6b87d03a17727ce6fe6c5b0078a198898153ae8230345468479a9aa4560835d\",\"dweb:/ipfs/QmV4T7Wg8TS3uAVhnqMhqD6yZ7Qv8iouYnYrkTSCJirG2P\"]},\"@iexec/solidity/contracts/ERC1538/ERC1538Store.sol\":{\"keccak256\":\"0x4d1e8821dc216013f20044bbf82df3c2ab2c739d1b2ce4d90c15cb65f85707d8\",\"urls\":[\"bzz-raw://e36d4db70862f87b8657c19330f0d45e8e7018ebcf3df97525638c8caa919d2b\",\"dweb:/ipfs/QmZqsrXPsyRkRkjuupKG2SYsyUTBXqe7nkkCy7RKxDKz1L\"]},\"@iexec/solidity/contracts/Libs/SafeMathExtended.sol\":{\"keccak256\":\"0xf2802ae591eb22954d9c8e02658ae7577940890aff8d8927a7255e254fed605b\",\"urls\":[\"bzz-raw://8dcc485d21a3aa3f643768d4ac4fc69697b9b37f8fb779f3998ab4cee143fa66\",\"dweb:/ipfs/QmWdwgKPMoWuidYQp6WFsJBhNbJUwFHNE9YPYQZhBsKj7e\"]},\"@iexec/solidity/contracts/Upgradeability/BaseUpgradeabilityProxy.sol\":{\"keccak256\":\"0x47ec56a1226ecf04d49aa82f768814923c1957b69f7fc9e7e470885c75b5a2c6\",\"urls\":[\"bzz-raw://4eae82be03a247a27a2948ed12d5a826dea977f4b5528830c19d9cf4c23dcd53\",\"dweb:/ipfs/Qmb9HtnohAMvjb7vYnXaT3AnQd9p9sLsThnyLnXVzz1umq\"]},\"@iexec/solidity/contracts/Upgradeability/InitializableUpgradeabilityProxy.sol\":{\"keccak256\":\"0xe1bf07e5d913bd04484305a3fb0cc576f6b5d8e4fc0406bf7c9a8b6b2ed766e5\",\"urls\":[\"bzz-raw://b42f6dff696ceadeb44a02aae3049e603984c18af8d94f33fb6544a8b279179c\",\"dweb:/ipfs/QmRWTaRHCGZhKZFKrVAJwXukXiCZcezrVhJJ28H2qBbai7\"]},\"@iexec/solidity/contracts/Upgradeability/Proxy.sol\":{\"keccak256\":\"0xd89f285d80cfeff0efc87f11dbc024a587da3bba142a06695cbac7e4050e9302\",\"urls\":[\"bzz-raw://9c8323ec7efc9fde6c1529f1070c3f3406adb5f8836b17221530d8f0110fe3f4\",\"dweb:/ipfs/QmURRsX9L2gZ83aMULtY1EuRMJExHhFYErCbkxE5CNkAzE\"]},\"@openzeppelin/contracts/GSN/Context.sol\":{\"keccak256\":\"0x0de74dfa6b37943c1b834cbd8fb7a8d052e5ff80c7adb33692102dd6cd2985e9\",\"urls\":[\"bzz-raw://9d2d827fcf4a838f5821732c0acd6a40d21c2a5a2cfe2563feec91465f47bb60\",\"dweb:/ipfs/Qmex3wMKf5Sghbfvr288RUg1kP2uAyTMf11w83WbMbpQQc\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x9a8c691b81a4a48adbbd5b010faa56a168c189e711495c16347d93b60b805f82\",\"urls\":[\"bzz-raw://d951d626ed7bfe1a2d7a6bd4af315ff8691929bd567594d6ab53599fe9e17e4e\",\"dweb:/ipfs/QmYkGeowpa6Bjr9aaDirWdDo7hSfShzzZhanKC4nTfRhLj\"]},\"@openzeppelin/contracts/introspection/ERC165.sol\":{\"keccak256\":\"0x98aa1380fd49a255d6cbea58558ea76bff35c59b218671fde8842907b44e7390\",\"urls\":[\"bzz-raw://613eaff66d4c270ddd87448c06267b6e043ef8c8223cb39d8767bc9daa9cb1ec\",\"dweb:/ipfs/Qmcg56orudv25ghmnZCxN37HwNKCXmTTDxj5cyoYYnvHTg\"]},\"@openzeppelin/contracts/introspection/IERC165.sol\":{\"keccak256\":\"0x9175561c374ec1fc33045e5dfdde2057e63e00debf432875f9e1e3395d99c149\",\"urls\":[\"bzz-raw://b0167043c1938b56904deaa481a73041aa4a9e054c60db0b0dfbebfe7869c06a\",\"dweb:/ipfs/QmUoYjhymBr6WUpExKgRvKxXD5fcdpQEe1o9ResKZu6CC5\"]},\"@openzeppelin/contracts/math/SafeMath.sol\":{\"keccak256\":\"0x04d34b3cd5677bea25f8dfceb6dec0eaa071d4d4b789a43f13fe0c415ba4c296\",\"urls\":[\"bzz-raw://e7e8b526a6839e5ba14f0d23a830387fec47f7043ce01d42c9f285b709a9d080\",\"dweb:/ipfs/QmXmhhFmX5gcAvVzNiDPAGA35iHMPNaYtQkACswRHBVTNw\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x6cc1cb934a3ac2137a7dcaed018af9e235392236ceecfd3687259702b9c767ad\",\"urls\":[\"bzz-raw://0055fa88138cd1c3c6440370f8580f85857f8fe9dec41c99af9eafbeb8d9c3ce\",\"dweb:/ipfs/QmX1xDh8vwGLLCH8ti45eXjQ7Wcxv1FEGTR3jkFnd5Nv6F\"]},\"@openzeppelin/contracts/token/ERC721/ERC721.sol\":{\"keccak256\":\"0x67a43d3926e72576c96ebf0e6360c979a8cc04f25e4b0ca40c221547d8903ba4\",\"urls\":[\"bzz-raw://77c6f48115c491411f0e27f6b70e2e524b1b57c66e74bd7f1974a31a448e2540\",\"dweb:/ipfs/QmPZCizouS9PVJ1dVf8zqTjHyEo5cSa1ZmPCQpk52TgrmV\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x734b5bedb78074a59bca6aff9e5a1801c9c7e9c5314daf32e14857161fb36932\",\"urls\":[\"bzz-raw://4574e71185f6693eb5cdf7a5126fba97caf0ec0366b08290dd361af44b3414d3\",\"dweb:/ipfs/QmTPBh1R3EU973H7h6D1kQ1XBA1oX2QdSHZACyytWUYKsn\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Enumerable.sol\":{\"keccak256\":\"0xf81dbd00ad4a1e4795df72759e33872c2599ea6c060be5898ed5d6fcd8ee9a11\",\"urls\":[\"bzz-raw://44dfcc25314c5ed29bc069c4746f87d98bb30a8dbc1a9bdeb797c2a530b9b9c5\",\"dweb:/ipfs/QmbRc5bKDobjE6zamLUy6Sh5HKd6XtNAsfBJzgZuQB3jpv\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Metadata.sol\":{\"keccak256\":\"0xa17f4147965ceccd9f2017b14fcf8ef142346ec69c7e0424fd5c99f5ffeed8fa\",\"urls\":[\"bzz-raw://25315aea456015e8a2bc2b5badde793d1ae16d67d09df50ecb90a2af13674b92\",\"dweb:/ipfs/QmTujwcp5f1LioDNdRMfsXs2MsCWu2UeijhEg4VnDbzZmk\"]},\"@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol\":{\"keccak256\":\"0x0c25ff00a747f1df6cb5e5c103adb98334df7e9561b0d46079454131c139bff9\",\"urls\":[\"bzz-raw://9417ce94829309329fa0f0dc50089696bc55f9f675c4b2ffcb31f960fe706250\",\"dweb:/ipfs/QmdckiAmnW2uhXK2V2enu7bEbqiMR6hzMD1ytGH43pKLhE\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x5f7da58ee3d9faa9b8999a93d49c8ff978f1afc88ae9bcfc6f9cbb44da011c2b\",\"urls\":[\"bzz-raw://4f089d954b3ecaa26949412fe63e9a184b056562c6c13dd4a0529a5d9a2e685a\",\"dweb:/ipfs/QmVK5iCNAMcEJQxT59bsC5E53JQASDQPU6khHox3d5ZXCn\"]},\"@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0x66d1ed2a353be8d2492833a185c53a8f1de8d8fa575a201e9825cf334d79659a\",\"urls\":[\"bzz-raw://a2e9b79e9cf5b398cd29b30df860a6521eefadd9882a346c423afbee5aee606e\",\"dweb:/ipfs/QmUq7gfqR5x1DaMpRKkWwmLMGLPzqUQhqhFEJ2vcgvFraH\"]},\"@openzeppelin/contracts/utils/EnumerableMap.sol\":{\"keccak256\":\"0xfd5cf8319cb84ca04ea407d6fba686d53ad7f5d2bf476f41678f5a751d12a7ea\",\"urls\":[\"bzz-raw://45b75b553c4a9053429609b1c3db481f1728ca00448f01acc4065249bbf87adc\",\"dweb:/ipfs/QmRZH6QM32mJn1GZCAPXUQtBz65H4kk6DsGQbGNo4ZNPy9\"]},\"@openzeppelin/contracts/utils/EnumerableSet.sol\":{\"keccak256\":\"0x7f6401708b61f575b497aa7c8118ca9d70348643c83c26e70d9b643edf1a95c1\",\"urls\":[\"bzz-raw://b020d65f592c1715bc3d5799ad835cd975ef7d314f340f27603fb99ad86a0427\",\"dweb:/ipfs/QmQoGZmzE5aDTMGJM4BW77eraerfTSV9Rs8wykpQ42i1in\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xd1d78b1c8534fbcf8fdc8fbfec9133df142ef8cae9ae820929dfe6d80d2c790a\",\"urls\":[\"bzz-raw://193a827fbe83fa83c4cabb172dc438dd45c50253858a1f2bf56e8f9a2d548386\",\"dweb:/ipfs/QmbWBHwHv7CyHSZY6jxnaDiHWGEEyVb8LeGdRpWXUjaiBr\"]},\"solstruct/contracts/libs/LibMap2.bytes4.address.bytes.sol\":{\"keccak256\":\"0x471645d4b20cc36606122fc6bb692cdf8489118547f90bde2740cb73b1e64d54\",\"urls\":[\"bzz-raw://7ca824c03cd077e6d9630eaa4755787c785a61f612cb8e3ba13d0ce92ee55738\",\"dweb:/ipfs/QmdavtXDokZ7vWZt8pMxPi7DaG3Hd1Q5MyeJjXGRFQuL9r\"]},\"solstruct/contracts/libs/LibSet.bytes4.sol\":{\"keccak256\":\"0xdec5833ab65ae8cab500b84424dde49c1f7817c6575e1631a729fc88c6d4bd7f\",\"urls\":[\"bzz-raw://2e5d23b8383819e6dd77ea61ed30740bcba45b0fff609922b11d1cae2b0223f1\",\"dweb:/ipfs/QmQ27sefXEYXBUSEGdPkuzCqemtUJzNXhhsyd7kB94w6CE\"]}},\"version\":1}",
  "bytecode": "0x60806040526000620000196001600160e01b036200006b16565b600080546001600160a01b0319166001600160a01b03831690811782556040519293509160008051602062001669833981519152908290a350620000656001600160e01b036200006f16565b62000129565b3390565b620000826001600160e01b036200006b16565b6000546001600160a01b03908116911614620000bb5760405162461bcd60e51b8152600401620000b290620000f4565b60405180910390fd5b600080546040516001600160a01b039091169060008051602062001669833981519152908390a3600080546001600160a01b0319169055565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b61153080620001396000396000f3fe608060405234801561001057600080fd5b50600436106102115760003560e01c806390a0f54611610125578063d286eb16116100ad578063dd62ed3e1161007c578063dd62ed3e146103df578063e63ec07d146103f2578063e741363b146103fa578063f2fde38b1461041a578063fc0c546a1461042d57610211565b8063d286eb16146103b1578063db230b52146103c4578063db8aaa26146103d7578063dcb03241146103d757610211565b8063adccf0d5116100f4578063adccf0d51461034e578063b1b11d2c1461036e578063b74861b214610376578063c140996f14610396578063d09cc57e1461039e57610211565b806390a0f5461461032e57806395d89b41146103365780639910fd721461033e578063a47e7f801461034657610211565b80634f5f44ec116101a857806370a082311161017757806370a08231146102f9578063715018a61461030c57806374ed52441461031657806377a996921461031e5780638da5cb5b1461032657610211565b80634f5f44ec146102a95780635975b8fc146102c95780636112f6fd146102d15780636b55f4a5146102d957610211565b80632b8857c1116101e45780632b8857c114610264578063313ce5671461026c57806345b637a9146102815780634b2bec8c1461029657610211565b806306fdde031461021657806318160ddd146102345780631bf6e00d1461024957806325eacba81461025c575b600080fd5b61021e610435565b60405161022b91906111aa565b60405180910390f35b61023c6104cb565b60405161022b91906111a1565b61023c610257366004611015565b6104d1565b61023c6104ec565b61023c6104f1565b6102746104f6565b60405161022b91906114ec565b6102896104ff565b60405161022b919061118d565b61023c6102a436600461106b565b61050e565b6102bc6102b736600461106b565b610520565b60405161022b9190611275565b610289610694565b61023c6106a3565b6102ec6102e7366004611015565b6106a8565b60405161022b919061125e565b61023c610307366004611015565b6106eb565b610314610706565b005b61023c61078e565b61023c610793565b61028961079b565b6102896107aa565b61021e6107b9565b61023c61081a565b610289610820565b61036161035c36600461106b565b610838565b60405161022b919061140f565b6102896109e6565b61038961038436600461106b565b6109f5565b60405161022b919061130f565b61023c610bb4565b61021e6103ac36600461106b565b610bba565b6102896103bf36600461106b565b610c8f565b61023c6103d2366004611015565b610caa565b61023c610cc5565b61023c6103ed366004611037565b610cca565b61023c610cf7565b61040d610408366004611083565b610cfd565b60405161022b91906112c4565b610314610428366004611015565b610d8b565b610289610e41565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b600c5490565b6001600160a01b03166000908152600e602052604090205490565b600490565b600290565b600b5460ff1690565b6005546001600160a01b031690565b60009081526012602052604090205490565b610528610e54565b601a828154811061053557fe5b600091825260209182902060408051600393909302909101805460026001821615610100026000190190911604601f81018590049094028301608090810190925260608301848152929390928492909184918401828280156105d85780601f106105ad576101008083540402835291602001916105d8565b820191906000526020600020905b8154815290600101906020018083116105bb57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505050505081526020016002820154815250509050919050565b6018546001600160a01b031690565b601e90565b6106b0610e75565b506040805180820182526001600160a01b03929092166000818152600d6020908152838220548552918152600e825291909120549082015290565b6001600160a01b03166000908152600d602052604090205490565b61070e610e50565b6000546001600160a01b039081169116146107445760405162461bcd60e51b815260040161073b90611203565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600790565b633b9aca0090565b6000546001600160a01b031690565b6007546001600160a01b031690565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c15780601f10610496576101008083540402835291602001916104c1565b60105490565b7399c2268479b93fde36232351229815df80837e2390565b610840610e8f565b6000828152601460205260409081902081516101c081019092528054829060ff16600481111561086c57fe5b600481111561087757fe5b8152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820180548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050509183525050600b820154602080830191909152600c8301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b50505050508152602001600d820154815250509050919050565b6006546001600160a01b031690565b6109fd610f08565b60008281526013602090815260409182902082516102408101845281546001600160a01b039081166101e08301908152600180850154831661020085015260028086015461022086015291845286516060808201895260038701548516825260048701548516828901526005870154828a0152858801919091528751808201895260068701548516815260078701548516818901526008870154818a015285890152600986015490850152600a8501546080850152600b85015460a0850152600c850154831660c0850152600d850154831660e0850152600e85015490921661010080850191909152600f850180548851948116159092026000190190911691909104601f81018690048602830186019096528582529194929361012086019391929190830182828015610b725780601f10610b4757610100808354040283529160200191610b72565b820191906000526020600020905b815481529060010190602001808311610b5557829003601f168201915b50505050508152602001601082015481526020016011820154815260200160128201548152602001601382015481526020016014820154815250509050919050565b601a5490565b60008181526014602052604090206060906003815460ff166004811115610bdd57fe5b14610bfa5760405162461bcd60e51b815260040161073b90611238565b600c8101805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c825780601f10610c5757610100808354040283529160200191610c82565b820191906000526020600020905b815481529060010190602001808311610c6557829003601f168201915b5050505050915050919050565b6000908152601160205260409020546001600160a01b031690565b6001600160a01b031660009081526017602052604090205490565b600a90565b6001600160a01b038083166000908152600f60209081526040808320938516835292905220545b92915050565b60195490565b610d05610fae565b60008381526016602090815260408083206001600160a01b038616845290915290819020815160a081019092528054829060ff166003811115610d4457fe5b6003811115610d4f57fe5b8152600182015460208201526002820154604082015260038201546001600160a01b031660608201526004909101546080909101529392505050565b610d93610e50565b6000546001600160a01b03908116911614610dc05760405162461bcd60e51b815260040161073b90611203565b6001600160a01b038116610de65760405162461bcd60e51b815260040161073b906111bd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b031690565b3390565b60405180606001604052806060815260200160608152602001600081525090565b604051806040016040528060008152602001600081525090565b604080516101c081019091528060008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681526020016000815260200160008152602001606081526020016000801916815260200160608152602001600081525090565b604051806101e00160405280610f1c610fde565b8152602001610f29610fde565b8152602001610f36610fde565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160a081019091528060008152600060208201819052604082018190526060820181905260809091015290565b604080516060810182526000808252602082018190529181019190915290565b80356001600160a01b0381168114610cf157600080fd5b600060208284031215611026578081fd5b6110308383610ffe565b9392505050565b60008060408385031215611049578081fd5b6110538484610ffe565b91506110628460208501610ffe565b90509250929050565b60006020828403121561107c578081fd5b5035919050565b60008060408385031215611095578182fd5b8235915060208301356001600160a01b03811681146110b2578182fd5b809150509250929050565b6001600160a01b03169052565b6000815180845260208085019450808401835b838110156111025781516001600160a01b0316875295820195908201906001016110dd565b509495945050505050565b60008151808452815b8181101561113257602081850181015186830182015201611116565b818111156111435782602083870101525b50601f01601f19169290920160200192915050565b6005811061116257fe5b9052565b80516001600160a01b03908116835260208083015190911690830152604090810151910152565b6001600160a01b0391909116815260200190565b90815260200190565b600060208252611030602083018461110d565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600c908201526b7461736b2d70656e64696e6760a01b604082015260600190565b815181526020918201519181019190915260400190565b600060208252825160606020840152611291608084018261110d565b6020850151848203601f1901604086015291506112ae818361110d565b6040860151606086015280935050505092915050565b815160a0820190600481106112d557fe5b825260208381015190830152604080840151908301526060808401516001600160a01b031690830152608092830151929091019190915290565b600060208252611323602083018451611166565b60208301516113356080840182611166565b50604083015161134860e0840182611166565b506060830151610140818185015260808501519150610160828186015260a08601519250610180838187015260c087015193506101a061138a818801866110bd565b60e088015194506101c06113a0818901876110bd565b61010089015195506113b66101e08901876110bd565b61012089015195506102a0806102008a01526113d66102c08a018861110d565b958a01516102208a0152938901516102408901529188015161026088015287015161028087015290950151949093019390935250919050565b600060208252611423602083018451611158565b602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101008181850152808501519150506101208181850152808501519150506101408181850152808501519150506101c061016081818601526114aa6101e08601846110ca565b9086015161018086810191909152860151858203601f19016101a080880191909152909350906114da818561110d565b91909601519190940152509092915050565b60ff9190911681526020019056fea264697066735822122074793e399486c5cf38c1f1152791cf1659521ade628819fbc59584bcdee9a57d64736f6c634300060600338be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106102115760003560e01c806390a0f54611610125578063d286eb16116100ad578063dd62ed3e1161007c578063dd62ed3e146103df578063e63ec07d146103f2578063e741363b146103fa578063f2fde38b1461041a578063fc0c546a1461042d57610211565b8063d286eb16146103b1578063db230b52146103c4578063db8aaa26146103d7578063dcb03241146103d757610211565b8063adccf0d5116100f4578063adccf0d51461034e578063b1b11d2c1461036e578063b74861b214610376578063c140996f14610396578063d09cc57e1461039e57610211565b806390a0f5461461032e57806395d89b41146103365780639910fd721461033e578063a47e7f801461034657610211565b80634f5f44ec116101a857806370a082311161017757806370a08231146102f9578063715018a61461030c57806374ed52441461031657806377a996921461031e5780638da5cb5b1461032657610211565b80634f5f44ec146102a95780635975b8fc146102c95780636112f6fd146102d15780636b55f4a5146102d957610211565b80632b8857c1116101e45780632b8857c114610264578063313ce5671461026c57806345b637a9146102815780634b2bec8c1461029657610211565b806306fdde031461021657806318160ddd146102345780631bf6e00d1461024957806325eacba81461025c575b600080fd5b61021e610435565b60405161022b91906111aa565b60405180910390f35b61023c6104cb565b60405161022b91906111a1565b61023c610257366004611015565b6104d1565b61023c6104ec565b61023c6104f1565b6102746104f6565b60405161022b91906114ec565b6102896104ff565b60405161022b919061118d565b61023c6102a436600461106b565b61050e565b6102bc6102b736600461106b565b610520565b60405161022b9190611275565b610289610694565b61023c6106a3565b6102ec6102e7366004611015565b6106a8565b60405161022b919061125e565b61023c610307366004611015565b6106eb565b610314610706565b005b61023c61078e565b61023c610793565b61028961079b565b6102896107aa565b61021e6107b9565b61023c61081a565b610289610820565b61036161035c36600461106b565b610838565b60405161022b919061140f565b6102896109e6565b61038961038436600461106b565b6109f5565b60405161022b919061130f565b61023c610bb4565b61021e6103ac36600461106b565b610bba565b6102896103bf36600461106b565b610c8f565b61023c6103d2366004611015565b610caa565b61023c610cc5565b61023c6103ed366004611037565b610cca565b61023c610cf7565b61040d610408366004611083565b610cfd565b60405161022b91906112c4565b610314610428366004611015565b610d8b565b610289610e41565b60098054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c15780601f10610496576101008083540402835291602001916104c1565b820191906000526020600020905b8154815290600101906020018083116104a457829003601f168201915b5050505050905090565b600c5490565b6001600160a01b03166000908152600e602052604090205490565b600490565b600290565b600b5460ff1690565b6005546001600160a01b031690565b60009081526012602052604090205490565b610528610e54565b601a828154811061053557fe5b600091825260209182902060408051600393909302909101805460026001821615610100026000190190911604601f81018590049094028301608090810190925260608301848152929390928492909184918401828280156105d85780601f106105ad576101008083540402835291602001916105d8565b820191906000526020600020905b8154815290600101906020018083116105bb57829003601f168201915b50505050508152602001600182018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561067a5780601f1061064f5761010080835404028352916020019161067a565b820191906000526020600020905b81548152906001019060200180831161065d57829003601f168201915b505050505081526020016002820154815250509050919050565b6018546001600160a01b031690565b601e90565b6106b0610e75565b506040805180820182526001600160a01b03929092166000818152600d6020908152838220548552918152600e825291909120549082015290565b6001600160a01b03166000908152600d602052604090205490565b61070e610e50565b6000546001600160a01b039081169116146107445760405162461bcd60e51b815260040161073b90611203565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600790565b633b9aca0090565b6000546001600160a01b031690565b6007546001600160a01b031690565b600a8054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104c15780601f10610496576101008083540402835291602001916104c1565b60105490565b7399c2268479b93fde36232351229815df80837e2390565b610840610e8f565b6000828152601460205260409081902081516101c081019092528054829060ff16600481111561086c57fe5b600481111561087757fe5b8152602001600182015481526020016002820154815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a820180548060200260200160405190810160405280929190818152602001828054801561092e57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610910575b5050509183525050600b820154602080830191909152600c8301805460408051601f600260001961010060018716150201909416939093049283018590048502810185018252828152940193928301828280156109cc5780601f106109a1576101008083540402835291602001916109cc565b820191906000526020600020905b8154815290600101906020018083116109af57829003601f168201915b50505050508152602001600d820154815250509050919050565b6006546001600160a01b031690565b6109fd610f08565b60008281526013602090815260409182902082516102408101845281546001600160a01b039081166101e08301908152600180850154831661020085015260028086015461022086015291845286516060808201895260038701548516825260048701548516828901526005870154828a0152858801919091528751808201895260068701548516815260078701548516818901526008870154818a015285890152600986015490850152600a8501546080850152600b85015460a0850152600c850154831660c0850152600d850154831660e0850152600e85015490921661010080850191909152600f850180548851948116159092026000190190911691909104601f81018690048602830186019096528582529194929361012086019391929190830182828015610b725780601f10610b4757610100808354040283529160200191610b72565b820191906000526020600020905b815481529060010190602001808311610b5557829003601f168201915b50505050508152602001601082015481526020016011820154815260200160128201548152602001601382015481526020016014820154815250509050919050565b601a5490565b60008181526014602052604090206060906003815460ff166004811115610bdd57fe5b14610bfa5760405162461bcd60e51b815260040161073b90611238565b600c8101805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c825780601f10610c5757610100808354040283529160200191610c82565b820191906000526020600020905b815481529060010190602001808311610c6557829003601f168201915b5050505050915050919050565b6000908152601160205260409020546001600160a01b031690565b6001600160a01b031660009081526017602052604090205490565b600a90565b6001600160a01b038083166000908152600f60209081526040808320938516835292905220545b92915050565b60195490565b610d05610fae565b60008381526016602090815260408083206001600160a01b038616845290915290819020815160a081019092528054829060ff166003811115610d4457fe5b6003811115610d4f57fe5b8152600182015460208201526002820154604082015260038201546001600160a01b031660608201526004909101546080909101529392505050565b610d93610e50565b6000546001600160a01b03908116911614610dc05760405162461bcd60e51b815260040161073b90611203565b6001600160a01b038116610de65760405162461bcd60e51b815260040161073b906111bd565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6008546001600160a01b031690565b3390565b60405180606001604052806060815260200160608152602001600081525090565b604051806040016040528060008152602001600081525090565b604080516101c081019091528060008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152602001600080191681526020016000815260200160008152602001606081526020016000801916815260200160608152602001600081525090565b604051806101e00160405280610f1c610fde565b8152602001610f29610fde565b8152602001610f36610fde565b815260200160008152602001600081526020016000801916815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b031681526020016060815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160a081019091528060008152600060208201819052604082018190526060820181905260809091015290565b604080516060810182526000808252602082018190529181019190915290565b80356001600160a01b0381168114610cf157600080fd5b600060208284031215611026578081fd5b6110308383610ffe565b9392505050565b60008060408385031215611049578081fd5b6110538484610ffe565b91506110628460208501610ffe565b90509250929050565b60006020828403121561107c578081fd5b5035919050565b60008060408385031215611095578182fd5b8235915060208301356001600160a01b03811681146110b2578182fd5b809150509250929050565b6001600160a01b03169052565b6000815180845260208085019450808401835b838110156111025781516001600160a01b0316875295820195908201906001016110dd565b509495945050505050565b60008151808452815b8181101561113257602081850181015186830182015201611116565b818111156111435782602083870101525b50601f01601f19169290920160200192915050565b6005811061116257fe5b9052565b80516001600160a01b03908116835260208083015190911690830152604090810151910152565b6001600160a01b0391909116815260200190565b90815260200190565b600060208252611030602083018461110d565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252600c908201526b7461736b2d70656e64696e6760a01b604082015260600190565b815181526020918201519181019190915260400190565b600060208252825160606020840152611291608084018261110d565b6020850151848203601f1901604086015291506112ae818361110d565b6040860151606086015280935050505092915050565b815160a0820190600481106112d557fe5b825260208381015190830152604080840151908301526060808401516001600160a01b031690830152608092830151929091019190915290565b600060208252611323602083018451611166565b60208301516113356080840182611166565b50604083015161134860e0840182611166565b506060830151610140818185015260808501519150610160828186015260a08601519250610180838187015260c087015193506101a061138a818801866110bd565b60e088015194506101c06113a0818901876110bd565b61010089015195506113b66101e08901876110bd565b61012089015195506102a0806102008a01526113d66102c08a018861110d565b958a01516102208a0152938901516102408901529188015161026088015287015161028087015290950151949093019390935250919050565b600060208252611423602083018451611158565b602083015160408301526040830151606083015260608301516080830152608083015160a083015260a083015160c083015260c083015160e083015260e08301516101008181850152808501519150506101208181850152808501519150506101408181850152808501519150506101c061016081818601526114aa6101e08601846110ca565b9086015161018086810191909152860151858203601f19016101a080880191909152909350906114da818561110d565b91909601519190940152509092915050565b60ff9190911681526020019056fea264697066735822122074793e399486c5cf38c1f1152791cf1659521ade628819fbc59584bcdee9a57d64736f6c63430006060033",
  "immutableReferences": {},
  "sourceMap": "134:3898:10:-:0;;;832:17:66;852:12;-1:-1:-1;;;;;852:10:66;:12;:::i;:::-;874:6;:18;;-1:-1:-1;;;;;;874:18:66;-1:-1:-1;;;;;874:18:66;;;;;;;907:43;;874:18;;-1:-1:-1;874:18:66;-1:-1:-1;;;;;;;;;;;907:43:66;874:6;;907:43;-1:-1:-1;124:19:57;-1:-1:-1;;;;;124:17:57;:19;:::i;:::-;134:3898:10;;735:104:65;822:10;735:104;:::o;1656:145:66:-;1247:12;-1:-1:-1;;;;;1247:10:66;:12;:::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;;;;;;;;;1762:1:::1;1746:6:::0;;1725:40:::1;::::0;-1:-1:-1;;;;;1746:6:66;;::::1;::::0;-1:-1:-1;;;;;;;;;;;1725:40:66;1762:1;;1725:40:::1;1792:1;1775:19:::0;;-1:-1:-1;;;;;;1775:19:66::1;::::0;;1656:145::o;346:407:-1:-;537:2;551:47;;;522:18;;;864:19;266:34;904:14;;;246:55;320:12;;;508:245;;134:3898:10;;;;;;",
  "deployedSourceMap": "134:3898:10:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;134:3898:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;202:86:10;;;:::i;:::-;;;;;;;;;;;;;;;;473:94;;;:::i;:::-;;;;;;;;686:111;;;;;;;;;:::i;3805:108::-;;;:::i;3175:112::-;;;:::i;384:86::-;;;:::i;:::-;;;;;;;;2539:96;;;:::i;:::-;;;;;;;;1357:117;;;;;;;;;:::i;2275:149::-;;;;;;;;;:::i;:::-;;;;;;;;2858:90;;;:::i;3403:114::-;;;:::i;944:183::-;;;;;;;;;:::i;:::-;;;;;;;;570:113;;;;;;;;;:::i;1656:145:66:-;;;:::i;:::-;;3048:124:10;;;:::i;3615:88::-;;;:::i;1033:77:66:-;;;:::i;2745:110:10:-;;;:::i;291:90::-;;;:::i;3916:114::-;;;:::i;3706:96::-;;;:::i;1597:129::-;;;;;;;;;:::i;:::-;;;;;;;;2638:104;;;:::i;1228:126::-;;;;;;;;;:::i;:::-;;;;;;;;2427:108;;;:::i;2031:241::-;;;;;;;;;:::i;1477:117::-;;;;;;;;;:::i;1911:::-;;;;;;;;;:::i;3290:110::-;;;:::i;800:141::-;;;;;;;;;:::i;2951:94::-;;;:::i;1729:179::-;;;;;;;;;:::i;:::-;;;;;;;;1950:240:66;;;;;;;;;:::i;1130:95:10:-;;;:::i;202:86::-;278:6;271:13;;;;;;;;-1:-1:-1;;271:13:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;251;;271;;278:6;;271:13;;278:6;271:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:86;:::o;473:94::-;550:13;;473:94;:::o;686:111::-;-1:-1:-1;;;;;775:18:10;754:7;775:18;;;:9;:18;;;;;;;686:111::o;3805:108::-;2309:1:4;3805:108:10;:::o;3175:112::-;1815:1:4;3175:112:10;:::o;384:86::-;456:10;;;;384:86;:::o;2539:96::-;2618:13;;-1:-1:-1;;;;;2618:13:10;2539:96;:::o;1357:117::-;1425:16;1455:15;;;:10;:15;;;;;;;1357:117::o;2275:149::-;2346:40;;:::i;:::-;2400:12;2413:6;2400:20;;;;;;;;;;;;;;;;;2393:27;;;2400:20;;;;;;;;2393:27;;;;;;;;;-1:-1:-1;;2393:27:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2400:20;;2393:27;;;;2400:20;;2393:27;;2400:20;2393:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2275:149;;;:::o;2858:90::-;2933:11;;-1:-1:-1;;;;;2933:11:10;2858:90;:::o;3403:114::-;1936:2:4;3403:114:10;:::o;944:183::-;1015:30;;:::i;:::-;-1:-1:-1;1059:64:10;;;;;;;;-1:-1:-1;;;;;1083:19:10;;;;-1:-1:-1;1083:19:10;;;:10;:19;;;;;;;;1059:64;;1104:18;;;:9;:18;;;;;;;1059:64;;;;;944:183::o;570:113::-;-1:-1:-1;;;;;660:19:10;639:7;660:19;;;:10;:19;;;;;;;570:113::o;1656:145:66:-;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;;;;;;;;;1762:1:::1;1746:6:::0;;1725:40:::1;::::0;-1:-1:-1;;;;;1746:6:66;;::::1;::::0;1725:40:::1;::::0;1762:1;;1725:40:::1;1792:1;1775:19:::0;;-1:-1:-1;;;;;;1775:19:66::1;::::0;;1656:145::o;3048:124:10:-;1755:1:4;3048:124:10;:::o;3615:88::-;2058:10:4;3615:88:10;:::o;1033:77:66:-;1071:7;1097:6;-1:-1:-1;;;;;1097:6:66;1033:77;:::o;2745:110:10:-;2831:20;;-1:-1:-1;;;;;2831:20:10;2745:110;:::o;291:90::-;369:8;362:15;;;;;;;;-1:-1:-1;;362:15:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;342:13;;362:15;;369:8;;362:15;;369:8;362:15;;;;;;;;;;;;;;;;;;;;;;;;3916:114;4004:22;;3916:114;:::o;3706:96::-;2151:42:4;3706:96:10;:::o;1597:129::-;1665:27;;:::i;:::-;1706:16;;;;:7;:16;;;;;;;1699:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1699:23:10;;;;;;;;;;;;;;;;-1:-1:-1;;;1699:23:10;;;-1:-1:-1;;1699:23:10;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1699:23:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1597:129;;;:::o;2638:104::-;2721:17;;-1:-1:-1;;;;;2721:17:10;2638:104;:::o;1228:126::-;1292:32;;:::i;:::-;1338:12;;;;:7;:12;;;;;;;;;1331:19;;;;;;;;;-1:-1:-1;;;;;1331:19:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1331:19:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;1338:12;;1331:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1228:126;;;:::o;2427:108::-;2512:12;:19;2427:108;:::o;2031:241::-;2114:33;2150:11;;;:7;:11;;;;;2095:12;;2188:40;2173:11;;;;:55;;;;;;;;;2165:80;;;;-1:-1:-1;;;2165:80:10;;;;;;;;;2256:12;;;2249:19;;;;;;;;;;;;;-1:-1:-1;;2249:19:10;;;;;;;;;;;;;;;;;;;;;;;;;;;2256:12;2249:19;;2256:12;2249:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2031:241;;;:::o;1477:117::-;1546:14;1574:16;;;:11;:16;;;;;;-1:-1:-1;;;;;1574:16:10;;1477:117::o;1911:::-;-1:-1:-1;;;;;2001:23:10;1980:7;2001:23;;;:14;:23;;;;;;;1911:117::o;3290:110::-;1875:2:4;3290:110:10;:::o;800:141::-;-1:-1:-1;;;;;907:21:10;;;886:7;907:21;;;:12;:21;;;;;;;;:30;;;;;;;;;;800:141;;;;;:::o;2951:94::-;3028:13;;2951:94;:::o;1729:179::-;1822:35;;:::i;:::-;1871:24;;;;:15;:24;;;;;;;;-1:-1:-1;;;;;1871:33:10;;;;;;;;;;;1864:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1864:40:10;;;;;;;;;;;;;;;;1729:179;-1:-1:-1;;;1729:179:10:o;1950:240:66:-;1247:12;:10;:12::i;:::-;1237:6;;-1:-1:-1;;;;;1237:6:66;;;:22;;;1229:67;;;;-1:-1:-1;;;1229:67:66;;;;;;;;;-1:-1:-1;;;;;2038:22:66;::::1;2030:73;;;;-1:-1:-1::0;;;2030:73:66::1;;;;;;;;;2139:6;::::0;;2118:38:::1;::::0;-1:-1:-1;;;;;2118:38:66;;::::1;::::0;2139:6;::::1;::::0;2118:38:::1;::::0;::::1;2166:6;:17:::0;;-1:-1:-1;;;;;;2166:17:66::1;-1:-1:-1::0;;;;;2166:17:66;;;::::1;::::0;;;::::1;::::0;;1950:240::o;1130:95:10:-;1209:11;;-1:-1:-1;;;;;1209:11:10;1130:95;:::o;735:104:65:-;822:10;735:104;:::o;134:3898:10:-;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;134:3898:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;134:3898:10;;;;;;-1:-1:-1;;;;;134:3898:10;;;;;;-1:-1:-1;;;;;134:3898:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;-1:-1:-1;134:3898:10;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;134:3898:10;;;;;;;;;;;;;;;;;:::o;5:130:-1:-;72:20;;-1:-1;;;;;22154:54;;23679:35;;23669:2;;23728:1;;23718:12;416:241;;520:2;508:9;499:7;495:23;491:32;488:2;;;-1:-1;;526:12;488:2;588:53;633:7;609:22;588:53;;;578:63;482:175;-1:-1;;;482:175;664:366;;;785:2;773:9;764:7;760:23;756:32;753:2;;;-1:-1;;791:12;753:2;853:53;898:7;874:22;853:53;;;843:63;;961:53;1006:7;943:2;986:9;982:22;961:53;;;951:63;;747:283;;;;;;1037:241;;1141:2;1129:9;1120:7;1116:23;1112:32;1109:2;;;-1:-1;;1147:12;1109:2;-1:-1;209:20;;1103:175;-1:-1;1103:175;1285:366;;;1406:2;1394:9;1385:7;1381:23;1377:32;1374:2;;;-1:-1;;1412:12;1374:2;209:20;;;-1:-1;1564:2;1603:22;;72:20;-1:-1;;;;;22154:54;;23679:35;;23669:2;;-1:-1;;23718:12;23669:2;1572:63;;;;1368:283;;;;;;2088:103;-1:-1;;;;;22154:54;2149:37;;2143:48;2349:670;;2532:5;20345:12;20879:6;20874:3;20867:19;20916:4;;20911:3;20907:14;2544:83;;20916:4;2698:5;20199:14;-1:-1;2737:260;2762:6;2759:1;2756:13;2737:260;;;2823:13;;-1:-1;;;;;22154:54;2149:37;;2060:14;;;;20732;;;;22165:42;2777:9;2737:260;;;-1:-1;3003:10;;2463:556;-1:-1;;;;;2463:556;3257:323;;3389:5;20345:12;20879:6;20874:3;20867:19;-1:-1;23071:101;23085:6;23082:1;23079:13;23071:101;;;20916:4;23152:11;;;;;23146:18;23133:11;;;;;23126:39;23100:10;23071:101;;;23187:6;23184:1;23181:13;23178:2;;;-1:-1;20916:4;23243:6;20911:3;23234:16;;23227:27;23178:2;-1:-1;23359:7;23343:14;-1:-1;;23339:28;3536:39;;;;20916:4;3536:39;;3337:243;-1:-1;;3337:243;4277:148;23591:1;23584:5;23581:12;23571:2;;23597:9;23571:2;4354:66;;4348:77;11672:625;11874:23;;-1:-1;;;;;22154:54;;;2149:37;;12046:4;12035:16;;;12029:23;22154:54;;;12106:14;;;2149:37;12201:4;12190:16;;;12184:23;12261:14;;3088:37;11778:519;15377:213;-1:-1;;;;;22154:54;;;;2149:37;;15495:2;15480:18;;15466:124;15597:213;3088:37;;;15715:2;15700:18;;15686:124;15817:297;;15953:2;15974:17;15967:47;16028:76;15953:2;15942:9;15938:18;16090:6;16028:76;;16685:407;16876:2;16890:47;;;5345:2;16861:18;;;20867:19;5381:34;20907:14;;;5361:55;-1:-1;;;5436:12;;;5429:30;5478:12;;;16847:245;17099:407;17290:2;17304:47;;;17275:18;;;20867:19;5765:34;20907:14;;;5745:55;5819:12;;;17261:245;17513:407;17704:2;17718:47;;;6070:2;17689:18;;;20867:19;-1:-1;;;20907:14;;;6086:35;6140:12;;;17675:245;17927:309;6445:23;;3088:37;;6618:4;6607:16;;;6601:23;6678:14;;;3088:37;;;;18093:2;18078:18;;18064:172;18243:361;;18411:2;18432:17;18425:47;7017:16;7011:23;6945:4;18411:2;18400:9;18396:18;7047:38;7100:73;6936:14;18400:9;6936:14;7154:12;7100:73;;;18411:2;7254:16;;7248:23;7307:14;;;-1:-1;;7307:14;7291;;;7284:38;7248:23;-1:-1;7337:73;7311:4;7248:23;7337:73;;;7291:14;7500:5;7496:16;7490:23;6945:4;18400:9;7567:14;3088:37;18478:116;;;;;;18382:222;;;;;18611:330;7921:23;;18787:3;18772:19;;;23475:1;23465:12;;23455:2;;23481:9;23455:2;4191:74;;8122:4;8111:16;;;8105:23;8182:14;;;3088:37;8282:4;8271:16;;;8265:23;8342:14;;;3088:37;8448:4;8437:16;;;8431:23;-1:-1;;;;;22154:54;8508:14;;;2149:37;8604:4;8593:16;;;8587:23;8664:14;;;;3088:37;;;;18758:183;;18948:345;;19108:2;19129:17;19122:47;9011:113;19108:2;19097:9;19093:18;8988:16;8982:23;9011:113;;;19108:2;9199:5;9195:16;9189:23;9218:113;9316:14;19097:9;9316:14;9302:12;9218:113;;;;9416:4;9409:5;9405:16;9399:23;9428:113;9526:14;19097:9;9526:14;9512:12;9428:113;;;;9325:4;9614:5;9610:16;9604:23;9681:16;9604:23;9681:16;19097:9;9681:16;3088:37;9316:14;9774:5;9770:16;9764:23;;;9841:16;9764:23;9841:16;19097:9;9841:16;3088:37;9936:4;9929:5;9925:16;9919:23;;;9996:16;9919:23;9996:16;19097:9;9996:16;3088:37;9535:4;10090:5;10086:16;10080:23;10060:43;;10157:16;10109:65;10157:16;19097:9;10157:16;10143:12;10109:65;;;9526:14;10253:5;10249:16;10243:23;10223:43;;10320:16;10272:65;10320:16;19097:9;10320:16;10306:12;10272:65;;;10420:6;10413:5;10409:18;10403:25;10383:45;;10434:65;10482:16;19097:9;10482:16;10468:12;10434:65;;;9690:6;10573:5;10569:18;10563:25;10543:45;;8915:6;;10608:16;19097:9;10608:16;10601:40;10656:73;8906:16;19097:9;8906:16;10710:12;10656:73;;;10808:18;;;10802:25;10881:16;;;3088:37;10970:18;;;10964:25;11043:16;;;3088:37;11131:18;;;11125:25;11204:16;;;3088:37;11296:18;;11290:25;11369:16;;;3088:37;11470:18;;;11464:25;11543:16;;;;3088:37;;;;-1:-1;19175:108;19079:214;-1:-1;19079:214;19300:345;;19460:2;19481:17;19474:47;12611:79;19460:2;19449:9;19445:18;12588:16;12582:23;12611:79;;;19460:2;12764:5;12760:16;12754:23;12831:14;19449:9;12831:14;3088:37;12831:14;12917:5;12913:16;12907:23;12984:14;19449:9;12984:14;3088:37;12984:14;13074:5;13070:16;13064:23;13141:14;19449:9;13141:14;3088:37;13141:14;13244:5;13240:16;13234:23;13311:14;19449:9;13311:14;3088:37;13311:14;13408:5;13404:16;13398:23;13475:14;19449:9;13475:14;3088:37;13475:14;13571:5;13567:16;13561:23;13638:14;19449:9;13638:14;3088:37;13638:14;13735:5;13731:16;13725:23;13802:14;13725:23;13802:14;19449:9;13802:14;3088:37;13802:14;13898:5;13894:18;13888:25;;;;13967:16;13888:25;13967:16;19449:9;13967:16;3088:37;13967:16;14065:5;14061:18;14055:25;;;;14134:16;14055:25;14134:16;19449:9;14134:16;3088:37;14134:16;14231:5;14227:18;14221:25;14201:45;;;12512:6;14266:16;12512:6;14266:16;19449:9;14266:16;14259:40;14314:103;12503:16;19449:9;12503:16;14398:12;14314:103;;;14499:18;;;14493:25;14572:16;;;;3088:37;;;;14660:18;;14654:25;14717:14;;;-1:-1;;14717:14;14699:16;;;;14692:40;;;;14654:25;;-1:-1;14699:16;14747:71;14721:4;14654:25;14747:71;;;14904:18;;;;14898:25;14977:16;;;;3088:37;-1:-1;14904:18;;19527:108;-1:-1;;19431:214;19872:205;22370:4;22359:16;;;;15330:35;;19986:2;19971:18;;19957:120",
  "source": "pragma solidity ^0.6.0;\npragma experimental ABIEncoderV2;\n\nimport \"../DelegateBase.sol\";\nimport \"../interfaces/IexecAccessors.sol\";\n\n\ncontract IexecAccessorsDelegate is IexecAccessors, DelegateBase\n{\n\n\tfunction name()\n\texternal view override returns (string memory)\n\t{\n\t\treturn m_name;\n\t}\n\n\tfunction symbol()\n\texternal view override returns (string memory)\n\t{\n\t\treturn m_symbol;\n\t}\n\n\tfunction decimals()\n\texternal view override returns (uint8)\n\t{\n\t\treturn m_decimals;\n\t}\n\n\tfunction totalSupply()\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_totalSupply;\n\t}\n\n\tfunction balanceOf(address account)\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_balances[account];\n\t}\n\n\tfunction frozenOf(address account)\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_frozens[account];\n\t}\n\n\tfunction allowance(address account, address spender)\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_allowances[account][spender];\n\t}\n\n\tfunction viewAccount(address account)\n\texternal view override returns (IexecLibCore_v5.Account memory)\n\t{\n\t\treturn IexecLibCore_v5.Account(m_balances[account], m_frozens[account]);\n\t}\n\n\tfunction token()\n\texternal view override returns (address)\n\t{\n\t\treturn address(m_baseToken);\n\t}\n\n\tfunction viewDeal(bytes32 _id)\n\texternal view override returns (IexecLibCore_v5.Deal memory deal)\n\t{\n\t\treturn m_deals[_id];\n\t}\n\n\tfunction viewConsumed(bytes32 _id)\n\texternal view override returns (uint256 consumed)\n\t{\n\t\treturn m_consumed[_id];\n\t}\n\n\tfunction viewPresigned(bytes32 _id)\n\texternal view override returns (address signer)\n\t{\n\t\treturn m_presigned[_id];\n\t}\n\n\tfunction viewTask(bytes32 _taskid)\n\texternal view override returns (IexecLibCore_v5.Task memory)\n\t{\n\t\treturn m_tasks[_taskid];\n\t}\n\n\tfunction viewContribution(bytes32 _taskid, address _worker)\n\texternal view override returns (IexecLibCore_v5.Contribution memory)\n\t{\n\t\treturn m_contributions[_taskid][_worker];\n\t}\n\n\tfunction viewScore(address _worker)\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_workerScores[_worker];\n\t}\n\n\tfunction resultFor(bytes32 id)\n\texternal view override returns (bytes memory)\n\t{\n\t\tIexecLibCore_v5.Task storage task = m_tasks[id];\n\t\trequire(task.status == IexecLibCore_v5.TaskStatusEnum.COMPLETED, 'task-pending');\n\t\treturn task.results;\n\t}\n\n\tfunction viewCategory(uint256 _catid)\n\texternal view override returns (IexecLibCore_v5.Category memory category)\n\t{\n\t\treturn m_categories[_catid];\n\t}\n\n\tfunction countCategory()\n\texternal view override returns (uint256 count)\n\t{\n\t\treturn m_categories.length;\n\t}\n\n\n\tfunction appregistry()\n\texternal view override returns (IRegistry)\n\t{\n\t\treturn m_appregistry;\n\t}\n\n\tfunction datasetregistry()\n\texternal view override returns (IRegistry)\n\t{\n\t\treturn m_datasetregistry;\n\t}\n\n\tfunction workerpoolregistry()\n\texternal view override returns (IRegistry)\n\t{\n\t\treturn m_workerpoolregistry;\n\t}\n\n\tfunction teebroker()\n\texternal view override returns (address)\n\t{\n\t\treturn m_teebroker;\n\t}\n\n\tfunction callbackgas()\n\texternal view override returns (uint256)\n\t{\n\t\treturn m_callbackgas;\n\t}\n\n\tfunction contribution_deadline_ratio()\n\texternal view override returns (uint256)\n\t{\n\t\treturn CONTRIBUTION_DEADLINE_RATIO;\n\t}\n\n\tfunction reveal_deadline_ratio()\n\texternal view override returns (uint256)\n\t{\n\t\treturn REVEAL_DEADLINE_RATIO;\n\t}\n\n\tfunction final_deadline_ratio()\n\texternal view override returns (uint256)\n\t{\n\t\treturn FINAL_DEADLINE_RATIO;\n\t}\n\n\tfunction workerpool_stake_ratio()\n\texternal view override returns (uint256)\n\t{\n\t\treturn WORKERPOOL_STAKE_RATIO;\n\t}\n\n\tfunction kitty_ratio()\n\texternal view override returns (uint256)\n\t{\n\t\treturn KITTY_RATIO;\n\t}\n\n\tfunction kitty_min()\n\texternal view override returns (uint256)\n\t{\n\t\treturn KITTY_MIN;\n\t}\n\n\tfunction kitty_address()\n\texternal view override returns (address)\n\t{\n\t\treturn KITTY_ADDRESS;\n\t}\n\n\tfunction groupmember_purpose()\n\texternal view override returns (uint256)\n\t{\n\t\treturn GROUPMEMBER_PURPOSE;\n\t}\n\n\tfunction eip712domain_separator()\n\texternal view override returns (bytes32)\n\t{\n\t\treturn EIP712DOMAIN_SEPARATOR;\n\t}\n}\n",
  "sourcePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecAccessorsDelegate.sol",
  "ast": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecAccessorsDelegate.sol",
    "exportedSymbols": {
      "IexecAccessorsDelegate": [
        1561
      ]
    },
    "id": 1562,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1182,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:10"
      },
      {
        "id": 1183,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:10"
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol",
        "file": "../DelegateBase.sol",
        "id": 1184,
        "nodeType": "ImportDirective",
        "scope": 1562,
        "sourceUnit": 845,
        "src": "59:29:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecAccessors.sol",
        "file": "../interfaces/IexecAccessors.sol",
        "id": 1185,
        "nodeType": "ImportDirective",
        "scope": 1562,
        "sourceUnit": 7031,
        "src": "89:42:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1186,
              "name": "IexecAccessors",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7030,
              "src": "169:14:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecAccessors_$7030",
                "typeString": "contract IexecAccessors"
              }
            },
            "id": 1187,
            "nodeType": "InheritanceSpecifier",
            "src": "169:14:10"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1188,
              "name": "DelegateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 844,
              "src": "185:12:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DelegateBase_$844",
                "typeString": "contract DelegateBase"
              }
            },
            "id": 1189,
            "nodeType": "InheritanceSpecifier",
            "src": "185:12:10"
          }
        ],
        "contractDependencies": [
          268,
          844,
          7030,
          10145,
          10170,
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1561,
        "linearizedBaseContracts": [
          1561,
          844,
          10170,
          268,
          10182,
          10861,
          10752,
          7030,
          10145
        ],
        "name": "IexecAccessorsDelegate",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              6853
            ],
            "body": {
              "id": 1197,
              "nodeType": "Block",
              "src": "267:21:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1195,
                    "name": "m_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 178,
                    "src": "278:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 1194,
                  "id": 1196,
                  "nodeType": "Return",
                  "src": "271:13:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 1198,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1191,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "233:8:10"
            },
            "parameters": {
              "id": 1190,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "215:2:10"
            },
            "returnParameters": {
              "id": 1194,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1193,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1198,
                  "src": "251:13:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1192,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "251:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "250:15:10"
            },
            "scope": 1561,
            "src": "202:86:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6858
            ],
            "body": {
              "id": 1206,
              "nodeType": "Block",
              "src": "358:23:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1204,
                    "name": "m_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 180,
                    "src": "369:8:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 1203,
                  "id": 1205,
                  "nodeType": "Return",
                  "src": "362:15:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 1207,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1200,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "324:8:10"
            },
            "parameters": {
              "id": 1199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "306:2:10"
            },
            "returnParameters": {
              "id": 1203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1202,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1207,
                  "src": "342:13:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1201,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "342:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "341:15:10"
            },
            "scope": 1561,
            "src": "291:90:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6863
            ],
            "body": {
              "id": 1215,
              "nodeType": "Block",
              "src": "445:25:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1213,
                    "name": "m_decimals",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 182,
                    "src": "456:10:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 1212,
                  "id": 1214,
                  "nodeType": "Return",
                  "src": "449:17:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 1216,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1209,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "419:8:10"
            },
            "parameters": {
              "id": 1208,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "401:2:10"
            },
            "returnParameters": {
              "id": 1212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1211,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1216,
                  "src": "437:5:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1210,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "437:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "436:7:10"
            },
            "scope": 1561,
            "src": "384:86:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6868
            ],
            "body": {
              "id": 1224,
              "nodeType": "Block",
              "src": "539:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1222,
                    "name": "m_totalSupply",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 184,
                    "src": "550:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1221,
                  "id": 1223,
                  "nodeType": "Return",
                  "src": "543:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 1225,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1218,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "511:8:10"
            },
            "parameters": {
              "id": 1217,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "493:2:10"
            },
            "returnParameters": {
              "id": 1221,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1220,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1225,
                  "src": "529:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1219,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "529:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "528:9:10"
            },
            "scope": 1561,
            "src": "473:94:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6875
            ],
            "body": {
              "id": 1237,
              "nodeType": "Block",
              "src": "649:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1233,
                      "name": "m_balances",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 188,
                      "src": "660:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1235,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1234,
                      "name": "account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1227,
                      "src": "671:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "660:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1232,
                  "id": 1236,
                  "nodeType": "Return",
                  "src": "653:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 1238,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1229,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "621:8:10"
            },
            "parameters": {
              "id": 1228,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1227,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1238,
                  "src": "589:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1226,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "589:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "588:17:10"
            },
            "returnParameters": {
              "id": 1232,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1231,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1238,
                  "src": "639:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1230,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "639:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "638:9:10"
            },
            "scope": 1561,
            "src": "570:113:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6882
            ],
            "body": {
              "id": 1250,
              "nodeType": "Block",
              "src": "764:33:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1246,
                      "name": "m_frozens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 192,
                      "src": "775:9:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1248,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1247,
                      "name": "account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1240,
                      "src": "785:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "775:18:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1245,
                  "id": 1249,
                  "nodeType": "Return",
                  "src": "768:25:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "1bf6e00d",
            "id": 1251,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "frozenOf",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1242,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "736:8:10"
            },
            "parameters": {
              "id": 1241,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1240,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1251,
                  "src": "704:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1239,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "704:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "703:17:10"
            },
            "returnParameters": {
              "id": 1245,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1244,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1251,
                  "src": "754:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1243,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "754:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "753:9:10"
            },
            "scope": 1561,
            "src": "686:111:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6891
            ],
            "body": {
              "id": 1267,
              "nodeType": "Block",
              "src": "896:45:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1261,
                        "name": "m_allowances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 198,
                        "src": "907:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                          "typeString": "mapping(address => mapping(address => uint256))"
                        }
                      },
                      "id": 1263,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1262,
                        "name": "account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1253,
                        "src": "920:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "907:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1265,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1264,
                      "name": "spender",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1255,
                      "src": "929:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "907:30:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1260,
                  "id": 1266,
                  "nodeType": "Return",
                  "src": "900:37:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 1268,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1257,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "868:8:10"
            },
            "parameters": {
              "id": 1256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1253,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "819:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1252,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "819:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1255,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "836:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1254,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "836:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "818:34:10"
            },
            "returnParameters": {
              "id": 1260,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1259,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "886:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1258,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "886:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "885:9:10"
            },
            "scope": 1561,
            "src": "800:141:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6898
            ],
            "body": {
              "id": 1286,
              "nodeType": "Block",
              "src": "1048:79:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1278,
                          "name": "m_balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 188,
                          "src": "1083:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 1280,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1279,
                          "name": "account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1270,
                          "src": "1094:7:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1083:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1281,
                          "name": "m_frozens",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 192,
                          "src": "1104:9:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 1283,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1282,
                          "name": "account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1270,
                          "src": "1114:7:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1104:18:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1276,
                        "name": "IexecLibCore_v5",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 380,
                        "src": "1059:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IexecLibCore_v5_$380_$",
                          "typeString": "type(library IexecLibCore_v5)"
                        }
                      },
                      "id": 1277,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "Account",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 275,
                      "src": "1059:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Account_$275_storage_ptr_$",
                        "typeString": "type(struct IexecLibCore_v5.Account storage pointer)"
                      }
                    },
                    "id": 1284,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1059:64:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Account_$275_memory_ptr",
                      "typeString": "struct IexecLibCore_v5.Account memory"
                    }
                  },
                  "functionReturnParameters": 1275,
                  "id": 1285,
                  "nodeType": "Return",
                  "src": "1052:71:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6b55f4a5",
            "id": 1287,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewAccount",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1272,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "997:8:10"
            },
            "parameters": {
              "id": 1271,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1270,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1287,
                  "src": "965:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1269,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "965:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "964:17:10"
            },
            "returnParameters": {
              "id": 1275,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1274,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1287,
                  "src": "1015:30:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Account_$275_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Account"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1273,
                    "name": "IexecLibCore_v5.Account",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 275,
                    "src": "1015:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Account_$275_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Account"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1014:32:10"
            },
            "scope": 1561,
            "src": "944:183:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6903
            ],
            "body": {
              "id": 1298,
              "nodeType": "Block",
              "src": "1190:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1295,
                        "name": "m_baseToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "1209:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$11203",
                          "typeString": "contract IERC20"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IERC20_$11203",
                          "typeString": "contract IERC20"
                        }
                      ],
                      "id": 1294,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1201:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 1293,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1201:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": null,
                          "typeString": null
                        }
                      }
                    },
                    "id": 1296,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1201:20:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1292,
                  "id": 1297,
                  "nodeType": "Return",
                  "src": "1194:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "fc0c546a",
            "id": 1299,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "token",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1289,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1162:8:10"
            },
            "parameters": {
              "id": 1288,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1144:2:10"
            },
            "returnParameters": {
              "id": 1292,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1291,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1299,
                  "src": "1180:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1290,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1180:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1179:9:10"
            },
            "scope": 1561,
            "src": "1130:95:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6910
            ],
            "body": {
              "id": 1311,
              "nodeType": "Block",
              "src": "1327:27:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1307,
                      "name": "m_deals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 236,
                      "src": "1338:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal storage ref)"
                      }
                    },
                    "id": 1309,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1308,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1301,
                      "src": "1346:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1338:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Deal_$320_storage",
                      "typeString": "struct IexecLibCore_v5.Deal storage ref"
                    }
                  },
                  "functionReturnParameters": 1306,
                  "id": 1310,
                  "nodeType": "Return",
                  "src": "1331:19:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "b74861b2",
            "id": 1312,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewDeal",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1303,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1274:8:10"
            },
            "parameters": {
              "id": 1302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1301,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1312,
                  "src": "1246:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1300,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1246:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1245:13:10"
            },
            "returnParameters": {
              "id": 1306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1305,
                  "mutability": "mutable",
                  "name": "deal",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1312,
                  "src": "1292:32:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Deal_$320_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Deal"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1304,
                    "name": "IexecLibCore_v5.Deal",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 320,
                    "src": "1292:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Deal_$320_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Deal"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1291:34:10"
            },
            "scope": 1561,
            "src": "1228:126:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6917
            ],
            "body": {
              "id": 1324,
              "nodeType": "Block",
              "src": "1444:30:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1320,
                      "name": "m_consumed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 232,
                      "src": "1455:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                        "typeString": "mapping(bytes32 => uint256)"
                      }
                    },
                    "id": 1322,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1321,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1314,
                      "src": "1466:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1455:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1319,
                  "id": 1323,
                  "nodeType": "Return",
                  "src": "1448:22:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4b2bec8c",
            "id": 1325,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewConsumed",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1316,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1407:8:10"
            },
            "parameters": {
              "id": 1315,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1314,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1325,
                  "src": "1379:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1313,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1379:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1378:13:10"
            },
            "returnParameters": {
              "id": 1319,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1318,
                  "mutability": "mutable",
                  "name": "consumed",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1325,
                  "src": "1425:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1317,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1425:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1424:18:10"
            },
            "scope": 1561,
            "src": "1357:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6924
            ],
            "body": {
              "id": 1337,
              "nodeType": "Block",
              "src": "1563:31:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1333,
                      "name": "m_presigned",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 228,
                      "src": "1574:11:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                        "typeString": "mapping(bytes32 => address)"
                      }
                    },
                    "id": 1335,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1334,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1327,
                      "src": "1586:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1574:16:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1332,
                  "id": 1336,
                  "nodeType": "Return",
                  "src": "1567:23:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d286eb16",
            "id": 1338,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewPresigned",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1329,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1528:8:10"
            },
            "parameters": {
              "id": 1328,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1327,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1338,
                  "src": "1500:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1326,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1500:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1499:13:10"
            },
            "returnParameters": {
              "id": 1332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1331,
                  "mutability": "mutable",
                  "name": "signer",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1338,
                  "src": "1546:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1330,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:16:10"
            },
            "scope": 1561,
            "src": "1477:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6931
            ],
            "body": {
              "id": 1350,
              "nodeType": "Block",
              "src": "1695:31:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1346,
                      "name": "m_tasks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 240,
                      "src": "1706:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task storage ref)"
                      }
                    },
                    "id": 1348,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1347,
                      "name": "_taskid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1340,
                      "src": "1714:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1706:16:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage",
                      "typeString": "struct IexecLibCore_v5.Task storage ref"
                    }
                  },
                  "functionReturnParameters": 1345,
                  "id": 1349,
                  "nodeType": "Return",
                  "src": "1699:23:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "adccf0d5",
            "id": 1351,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewTask",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1342,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1647:8:10"
            },
            "parameters": {
              "id": 1341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1340,
                  "mutability": "mutable",
                  "name": "_taskid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1351,
                  "src": "1615:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1339,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1615:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1614:17:10"
            },
            "returnParameters": {
              "id": 1345,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1344,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1351,
                  "src": "1665:27:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Task_$356_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Task"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1343,
                    "name": "IexecLibCore_v5.Task",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 356,
                    "src": "1665:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Task"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1664:29:10"
            },
            "scope": 1561,
            "src": "1597:129:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6940
            ],
            "body": {
              "id": 1367,
              "nodeType": "Block",
              "src": "1860:48:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1361,
                        "name": "m_contributions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 250,
                        "src": "1871:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
                          "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution storage ref))"
                        }
                      },
                      "id": 1363,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1362,
                        "name": "_taskid",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1353,
                        "src": "1887:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "1871:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$",
                        "typeString": "mapping(address => struct IexecLibCore_v5.Contribution storage ref)"
                      }
                    },
                    "id": 1365,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1364,
                      "name": "_worker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1355,
                      "src": "1896:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1871:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Contribution_$379_storage",
                      "typeString": "struct IexecLibCore_v5.Contribution storage ref"
                    }
                  },
                  "functionReturnParameters": 1360,
                  "id": 1366,
                  "nodeType": "Return",
                  "src": "1864:40:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "e741363b",
            "id": 1368,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewContribution",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1357,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1804:8:10"
            },
            "parameters": {
              "id": 1356,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1353,
                  "mutability": "mutable",
                  "name": "_taskid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1755:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1352,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1755:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1355,
                  "mutability": "mutable",
                  "name": "_worker",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1772:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1354,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1772:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1754:34:10"
            },
            "returnParameters": {
              "id": 1360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1359,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1822:35:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Contribution_$379_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Contribution"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1358,
                    "name": "IexecLibCore_v5.Contribution",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 379,
                    "src": "1822:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Contribution_$379_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Contribution"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1821:37:10"
            },
            "scope": 1561,
            "src": "1729:179:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6947
            ],
            "body": {
              "id": 1380,
              "nodeType": "Block",
              "src": "1990:38:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1376,
                      "name": "m_workerScores",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 254,
                      "src": "2001:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1378,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1377,
                      "name": "_worker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1370,
                      "src": "2016:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2001:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1375,
                  "id": 1379,
                  "nodeType": "Return",
                  "src": "1994:30:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "db230b52",
            "id": 1381,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewScore",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1372,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1962:8:10"
            },
            "parameters": {
              "id": 1371,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1370,
                  "mutability": "mutable",
                  "name": "_worker",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1381,
                  "src": "1930:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1369,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1930:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1929:17:10"
            },
            "returnParameters": {
              "id": 1375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1374,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1381,
                  "src": "1980:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1980:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1979:9:10"
            },
            "scope": 1561,
            "src": "1911:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              10144
            ],
            "body": {
              "id": 1410,
              "nodeType": "Block",
              "src": "2110:162:10",
              "statements": [
                {
                  "assignments": [
                    1392
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1392,
                      "mutability": "mutable",
                      "name": "task",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 1410,
                      "src": "2114:33:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                        "typeString": "struct IexecLibCore_v5.Task"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 1391,
                        "name": "IexecLibCore_v5.Task",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 356,
                        "src": "2114:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                          "typeString": "struct IexecLibCore_v5.Task"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1396,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1393,
                      "name": "m_tasks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 240,
                      "src": "2150:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task storage ref)"
                      }
                    },
                    "id": 1395,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1394,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1383,
                      "src": "2158:2:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2150:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage",
                      "typeString": "struct IexecLibCore_v5.Task storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2114:47:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                          "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                        },
                        "id": 1403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1398,
                            "name": "task",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1392,
                            "src": "2173:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                              "typeString": "struct IexecLibCore_v5.Task storage pointer"
                            }
                          },
                          "id": 1399,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 328,
                          "src": "2173:11:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                            "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 1400,
                              "name": "IexecLibCore_v5",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 380,
                              "src": "2188:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IexecLibCore_v5_$380_$",
                                "typeString": "type(library IexecLibCore_v5)"
                              }
                            },
                            "id": 1401,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "TaskStatusEnum",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 326,
                            "src": "2188:30:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$326_$",
                              "typeString": "type(enum IexecLibCore_v5.TaskStatusEnum)"
                            }
                          },
                          "id": 1402,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "COMPLETED",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2188:40:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                            "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                          }
                        },
                        "src": "2173:55:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7461736b2d70656e64696e67",
                        "id": 1404,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2230:14:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e83e39a9a5a53dacbf0d4c9de4baa8c8369eee8506bebc3b7fb2efffd9520d86",
                          "typeString": "literal_string \"task-pending\""
                        },
                        "value": "task-pending"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e83e39a9a5a53dacbf0d4c9de4baa8c8369eee8506bebc3b7fb2efffd9520d86",
                          "typeString": "literal_string \"task-pending\""
                        }
                      ],
                      "id": 1397,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2165:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1405,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2165:80:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1406,
                  "nodeType": "ExpressionStatement",
                  "src": "2165:80:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1407,
                      "name": "task",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1392,
                      "src": "2256:4:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                        "typeString": "struct IexecLibCore_v5.Task storage pointer"
                      }
                    },
                    "id": 1408,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "results",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 353,
                    "src": "2256:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage",
                      "typeString": "bytes storage ref"
                    }
                  },
                  "functionReturnParameters": 1388,
                  "id": 1409,
                  "nodeType": "Return",
                  "src": "2249:19:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d09cc57e",
            "id": 1411,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "resultFor",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1385,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2077:8:10"
            },
            "parameters": {
              "id": 1384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1383,
                  "mutability": "mutable",
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1411,
                  "src": "2050:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1382,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2050:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2049:12:10"
            },
            "returnParameters": {
              "id": 1388,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1387,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1411,
                  "src": "2095:12:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1386,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2095:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2094:14:10"
            },
            "scope": 1561,
            "src": "2031:241:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6954
            ],
            "body": {
              "id": 1423,
              "nodeType": "Block",
              "src": "2389:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1419,
                      "name": "m_categories",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 261,
                      "src": "2400:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
                        "typeString": "struct IexecLibCore_v5.Category storage ref[] storage ref"
                      }
                    },
                    "id": 1421,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1420,
                      "name": "_catid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1413,
                      "src": "2413:6:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2400:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Category_$282_storage",
                      "typeString": "struct IexecLibCore_v5.Category storage ref"
                    }
                  },
                  "functionReturnParameters": 1418,
                  "id": 1422,
                  "nodeType": "Return",
                  "src": "2393:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4f5f44ec",
            "id": 1424,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewCategory",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1415,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2328:8:10"
            },
            "parameters": {
              "id": 1414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1413,
                  "mutability": "mutable",
                  "name": "_catid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1424,
                  "src": "2297:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1412,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2297:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2296:16:10"
            },
            "returnParameters": {
              "id": 1418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1417,
                  "mutability": "mutable",
                  "name": "category",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1424,
                  "src": "2346:40:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Category_$282_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Category"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1416,
                    "name": "IexecLibCore_v5.Category",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 282,
                    "src": "2346:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Category_$282_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Category"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2345:42:10"
            },
            "scope": 1561,
            "src": "2275:149:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6959
            ],
            "body": {
              "id": 1433,
              "nodeType": "Block",
              "src": "2501:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1430,
                      "name": "m_categories",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 261,
                      "src": "2512:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
                        "typeString": "struct IexecLibCore_v5.Category storage ref[] storage ref"
                      }
                    },
                    "id": 1431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "2512:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1429,
                  "id": 1432,
                  "nodeType": "Return",
                  "src": "2505:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "c140996f",
            "id": 1434,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "countCategory",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1426,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2467:8:10"
            },
            "parameters": {
              "id": 1425,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2449:2:10"
            },
            "returnParameters": {
              "id": 1429,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1428,
                  "mutability": "mutable",
                  "name": "count",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1434,
                  "src": "2485:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1427,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2485:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2484:15:10"
            },
            "scope": 1561,
            "src": "2427:108:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6964
            ],
            "body": {
              "id": 1442,
              "nodeType": "Block",
              "src": "2607:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1440,
                    "name": "m_appregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 170,
                    "src": "2618:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1439,
                  "id": 1441,
                  "nodeType": "Return",
                  "src": "2611:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "45b637a9",
            "id": 1443,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "appregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1436,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2577:8:10"
            },
            "parameters": {
              "id": 1435,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:10"
            },
            "returnParameters": {
              "id": 1439,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1438,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1443,
                  "src": "2595:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1437,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2595:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2594:11:10"
            },
            "scope": 1561,
            "src": "2539:96:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6969
            ],
            "body": {
              "id": 1451,
              "nodeType": "Block",
              "src": "2710:32:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1449,
                    "name": "m_datasetregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 172,
                    "src": "2721:17:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1448,
                  "id": 1450,
                  "nodeType": "Return",
                  "src": "2714:24:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "b1b11d2c",
            "id": 1452,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "datasetregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1445,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2680:8:10"
            },
            "parameters": {
              "id": 1444,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2662:2:10"
            },
            "returnParameters": {
              "id": 1448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1447,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1452,
                  "src": "2698:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1446,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2698:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2697:11:10"
            },
            "scope": 1561,
            "src": "2638:104:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6974
            ],
            "body": {
              "id": 1460,
              "nodeType": "Block",
              "src": "2820:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1458,
                    "name": "m_workerpoolregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 174,
                    "src": "2831:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1457,
                  "id": 1459,
                  "nodeType": "Return",
                  "src": "2824:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "90a0f546",
            "id": 1461,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "workerpoolregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1454,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2790:8:10"
            },
            "parameters": {
              "id": 1453,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2772:2:10"
            },
            "returnParameters": {
              "id": 1457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1456,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1461,
                  "src": "2808:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1455,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2808:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2807:11:10"
            },
            "scope": 1561,
            "src": "2745:110:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6979
            ],
            "body": {
              "id": 1469,
              "nodeType": "Block",
              "src": "2922:26:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1467,
                    "name": "m_teebroker",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 256,
                    "src": "2933:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1466,
                  "id": 1468,
                  "nodeType": "Return",
                  "src": "2926:18:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5975b8fc",
            "id": 1470,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "teebroker",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1463,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2894:8:10"
            },
            "parameters": {
              "id": 1462,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2876:2:10"
            },
            "returnParameters": {
              "id": 1466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1465,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1470,
                  "src": "2912:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2912:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2911:9:10"
            },
            "scope": 1561,
            "src": "2858:90:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6984
            ],
            "body": {
              "id": 1478,
              "nodeType": "Block",
              "src": "3017:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1476,
                    "name": "m_callbackgas",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 258,
                    "src": "3028:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1475,
                  "id": 1477,
                  "nodeType": "Return",
                  "src": "3021:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "e63ec07d",
            "id": 1479,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "callbackgas",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1472,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2989:8:10"
            },
            "parameters": {
              "id": 1471,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2971:2:10"
            },
            "returnParameters": {
              "id": 1475,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1474,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1479,
                  "src": "3007:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1473,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3007:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3006:9:10"
            },
            "scope": 1561,
            "src": "2951:94:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6989
            ],
            "body": {
              "id": 1487,
              "nodeType": "Block",
              "src": "3130:42:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1485,
                    "name": "CONTRIBUTION_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 201,
                    "src": "3141:27:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1484,
                  "id": 1486,
                  "nodeType": "Return",
                  "src": "3134:34:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "74ed5244",
            "id": 1488,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "contribution_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1481,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3102:8:10"
            },
            "parameters": {
              "id": 1480,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3084:2:10"
            },
            "returnParameters": {
              "id": 1484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1483,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1488,
                  "src": "3120:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1482,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3120:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3119:9:10"
            },
            "scope": 1561,
            "src": "3048:124:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6994
            ],
            "body": {
              "id": 1496,
              "nodeType": "Block",
              "src": "3251:36:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1494,
                    "name": "REVEAL_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 204,
                    "src": "3262:21:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1493,
                  "id": 1495,
                  "nodeType": "Return",
                  "src": "3255:28:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "2b8857c1",
            "id": 1497,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "reveal_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1490,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3223:8:10"
            },
            "parameters": {
              "id": 1489,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3205:2:10"
            },
            "returnParameters": {
              "id": 1493,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1492,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1497,
                  "src": "3241:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1491,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3241:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3240:9:10"
            },
            "scope": 1561,
            "src": "3175:112:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6999
            ],
            "body": {
              "id": 1505,
              "nodeType": "Block",
              "src": "3365:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1503,
                    "name": "FINAL_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 207,
                    "src": "3376:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1502,
                  "id": 1504,
                  "nodeType": "Return",
                  "src": "3369:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "db8aaa26",
            "id": 1506,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "final_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1499,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3337:8:10"
            },
            "parameters": {
              "id": 1498,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3319:2:10"
            },
            "returnParameters": {
              "id": 1502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1501,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1506,
                  "src": "3355:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1500,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3355:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3354:9:10"
            },
            "scope": 1561,
            "src": "3290:110:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7004
            ],
            "body": {
              "id": 1514,
              "nodeType": "Block",
              "src": "3480:37:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1512,
                    "name": "WORKERPOOL_STAKE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 210,
                    "src": "3491:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1511,
                  "id": 1513,
                  "nodeType": "Return",
                  "src": "3484:29:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6112f6fd",
            "id": 1515,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "workerpool_stake_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1508,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3452:8:10"
            },
            "parameters": {
              "id": 1507,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3434:2:10"
            },
            "returnParameters": {
              "id": 1511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1510,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1515,
                  "src": "3470:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1509,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3470:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3469:9:10"
            },
            "scope": 1561,
            "src": "3403:114:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7009
            ],
            "body": {
              "id": 1523,
              "nodeType": "Block",
              "src": "3586:26:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1521,
                    "name": "KITTY_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 213,
                    "src": "3597:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1520,
                  "id": 1522,
                  "nodeType": "Return",
                  "src": "3590:18:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "dcb03241",
            "id": 1524,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1517,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3558:8:10"
            },
            "parameters": {
              "id": 1516,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3540:2:10"
            },
            "returnParameters": {
              "id": 1520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1519,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1524,
                  "src": "3576:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1518,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3576:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3575:9:10"
            },
            "scope": 1561,
            "src": "3520:92:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7014
            ],
            "body": {
              "id": 1532,
              "nodeType": "Block",
              "src": "3679:24:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1530,
                    "name": "KITTY_MIN",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 216,
                    "src": "3690:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1529,
                  "id": 1531,
                  "nodeType": "Return",
                  "src": "3683:16:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "77a99692",
            "id": 1533,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_min",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1526,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3651:8:10"
            },
            "parameters": {
              "id": 1525,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3633:2:10"
            },
            "returnParameters": {
              "id": 1529,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1528,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1533,
                  "src": "3669:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1527,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3669:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3668:9:10"
            },
            "scope": 1561,
            "src": "3615:88:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7019
            ],
            "body": {
              "id": 1541,
              "nodeType": "Block",
              "src": "3774:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1539,
                    "name": "KITTY_ADDRESS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 219,
                    "src": "3785:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1538,
                  "id": 1540,
                  "nodeType": "Return",
                  "src": "3778:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "a47e7f80",
            "id": 1542,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_address",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1535,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3746:8:10"
            },
            "parameters": {
              "id": 1534,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3728:2:10"
            },
            "returnParameters": {
              "id": 1538,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1537,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1542,
                  "src": "3764:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1536,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3764:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3763:9:10"
            },
            "scope": 1561,
            "src": "3706:96:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7024
            ],
            "body": {
              "id": 1550,
              "nodeType": "Block",
              "src": "3879:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1548,
                    "name": "GROUPMEMBER_PURPOSE",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 222,
                    "src": "3890:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1547,
                  "id": 1549,
                  "nodeType": "Return",
                  "src": "3883:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "25eacba8",
            "id": 1551,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "groupmember_purpose",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1544,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3851:8:10"
            },
            "parameters": {
              "id": 1543,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3833:2:10"
            },
            "returnParameters": {
              "id": 1547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1546,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1551,
                  "src": "3869:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1545,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3869:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3868:9:10"
            },
            "scope": 1561,
            "src": "3805:108:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7029
            ],
            "body": {
              "id": 1559,
              "nodeType": "Block",
              "src": "3993:37:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1557,
                    "name": "EIP712DOMAIN_SEPARATOR",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 224,
                    "src": "4004:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 1556,
                  "id": 1558,
                  "nodeType": "Return",
                  "src": "3997:29:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "9910fd72",
            "id": 1560,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "eip712domain_separator",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1553,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3965:8:10"
            },
            "parameters": {
              "id": 1552,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3947:2:10"
            },
            "returnParameters": {
              "id": 1556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1555,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1560,
                  "src": "3983:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1554,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3983:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3982:9:10"
            },
            "scope": 1561,
            "src": "3916:114:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1562,
        "src": "134:3898:10"
      }
    ],
    "src": "0:4033:10"
  },
  "legacyAST": {
    "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/delegates/IexecAccessorsDelegate.sol",
    "exportedSymbols": {
      "IexecAccessorsDelegate": [
        1561
      ]
    },
    "id": 1562,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 1182,
        "literals": [
          "solidity",
          "^",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:10"
      },
      {
        "id": 1183,
        "literals": [
          "experimental",
          "ABIEncoderV2"
        ],
        "nodeType": "PragmaDirective",
        "src": "24:33:10"
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/DelegateBase.sol",
        "file": "../DelegateBase.sol",
        "id": 1184,
        "nodeType": "ImportDirective",
        "scope": 1562,
        "sourceUnit": 845,
        "src": "59:29:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "absolutePath": "/home/amxx/Work/iExec/code/PoCo-dev/contracts/modules/interfaces/IexecAccessors.sol",
        "file": "../interfaces/IexecAccessors.sol",
        "id": 1185,
        "nodeType": "ImportDirective",
        "scope": 1562,
        "sourceUnit": 7031,
        "src": "89:42:10",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "abstract": false,
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1186,
              "name": "IexecAccessors",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7030,
              "src": "169:14:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_IexecAccessors_$7030",
                "typeString": "contract IexecAccessors"
              }
            },
            "id": 1187,
            "nodeType": "InheritanceSpecifier",
            "src": "169:14:10"
          },
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 1188,
              "name": "DelegateBase",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 844,
              "src": "185:12:10",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_DelegateBase_$844",
                "typeString": "contract DelegateBase"
              }
            },
            "id": 1189,
            "nodeType": "InheritanceSpecifier",
            "src": "185:12:10"
          }
        ],
        "contractDependencies": [
          268,
          844,
          7030,
          10145,
          10170,
          10182,
          10752,
          10861
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 1561,
        "linearizedBaseContracts": [
          1561,
          844,
          10170,
          268,
          10182,
          10861,
          10752,
          7030,
          10145
        ],
        "name": "IexecAccessorsDelegate",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "baseFunctions": [
              6853
            ],
            "body": {
              "id": 1197,
              "nodeType": "Block",
              "src": "267:21:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1195,
                    "name": "m_name",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 178,
                    "src": "278:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 1194,
                  "id": 1196,
                  "nodeType": "Return",
                  "src": "271:13:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "06fdde03",
            "id": 1198,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "name",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1191,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "233:8:10"
            },
            "parameters": {
              "id": 1190,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "215:2:10"
            },
            "returnParameters": {
              "id": 1194,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1193,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1198,
                  "src": "251:13:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1192,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "251:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "250:15:10"
            },
            "scope": 1561,
            "src": "202:86:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6858
            ],
            "body": {
              "id": 1206,
              "nodeType": "Block",
              "src": "358:23:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1204,
                    "name": "m_symbol",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 180,
                    "src": "369:8:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "functionReturnParameters": 1203,
                  "id": 1205,
                  "nodeType": "Return",
                  "src": "362:15:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "95d89b41",
            "id": 1207,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "symbol",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1200,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "324:8:10"
            },
            "parameters": {
              "id": 1199,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "306:2:10"
            },
            "returnParameters": {
              "id": 1203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1202,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1207,
                  "src": "342:13:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 1201,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "342:6:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "341:15:10"
            },
            "scope": 1561,
            "src": "291:90:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6863
            ],
            "body": {
              "id": 1215,
              "nodeType": "Block",
              "src": "445:25:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1213,
                    "name": "m_decimals",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 182,
                    "src": "456:10:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "functionReturnParameters": 1212,
                  "id": 1214,
                  "nodeType": "Return",
                  "src": "449:17:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "313ce567",
            "id": 1216,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "decimals",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1209,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "419:8:10"
            },
            "parameters": {
              "id": 1208,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "401:2:10"
            },
            "returnParameters": {
              "id": 1212,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1211,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1216,
                  "src": "437:5:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint8",
                    "typeString": "uint8"
                  },
                  "typeName": {
                    "id": 1210,
                    "name": "uint8",
                    "nodeType": "ElementaryTypeName",
                    "src": "437:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint8",
                      "typeString": "uint8"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "436:7:10"
            },
            "scope": 1561,
            "src": "384:86:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6868
            ],
            "body": {
              "id": 1224,
              "nodeType": "Block",
              "src": "539:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1222,
                    "name": "m_totalSupply",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 184,
                    "src": "550:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1221,
                  "id": 1223,
                  "nodeType": "Return",
                  "src": "543:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "18160ddd",
            "id": 1225,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "totalSupply",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1218,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "511:8:10"
            },
            "parameters": {
              "id": 1217,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "493:2:10"
            },
            "returnParameters": {
              "id": 1221,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1220,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1225,
                  "src": "529:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1219,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "529:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "528:9:10"
            },
            "scope": 1561,
            "src": "473:94:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6875
            ],
            "body": {
              "id": 1237,
              "nodeType": "Block",
              "src": "649:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1233,
                      "name": "m_balances",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 188,
                      "src": "660:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1235,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1234,
                      "name": "account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1227,
                      "src": "671:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "660:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1232,
                  "id": 1236,
                  "nodeType": "Return",
                  "src": "653:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "70a08231",
            "id": 1238,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1229,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "621:8:10"
            },
            "parameters": {
              "id": 1228,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1227,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1238,
                  "src": "589:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1226,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "589:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "588:17:10"
            },
            "returnParameters": {
              "id": 1232,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1231,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1238,
                  "src": "639:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1230,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "639:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "638:9:10"
            },
            "scope": 1561,
            "src": "570:113:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6882
            ],
            "body": {
              "id": 1250,
              "nodeType": "Block",
              "src": "764:33:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1246,
                      "name": "m_frozens",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 192,
                      "src": "775:9:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1248,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1247,
                      "name": "account",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1240,
                      "src": "785:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "775:18:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1245,
                  "id": 1249,
                  "nodeType": "Return",
                  "src": "768:25:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "1bf6e00d",
            "id": 1251,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "frozenOf",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1242,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "736:8:10"
            },
            "parameters": {
              "id": 1241,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1240,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1251,
                  "src": "704:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1239,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "704:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "703:17:10"
            },
            "returnParameters": {
              "id": 1245,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1244,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1251,
                  "src": "754:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1243,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "754:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "753:9:10"
            },
            "scope": 1561,
            "src": "686:111:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6891
            ],
            "body": {
              "id": 1267,
              "nodeType": "Block",
              "src": "896:45:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1261,
                        "name": "m_allowances",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 198,
                        "src": "907:12:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$",
                          "typeString": "mapping(address => mapping(address => uint256))"
                        }
                      },
                      "id": 1263,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1262,
                        "name": "account",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1253,
                        "src": "920:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "907:21:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1265,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1264,
                      "name": "spender",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1255,
                      "src": "929:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "907:30:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1260,
                  "id": 1266,
                  "nodeType": "Return",
                  "src": "900:37:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "dd62ed3e",
            "id": 1268,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "allowance",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1257,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "868:8:10"
            },
            "parameters": {
              "id": 1256,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1253,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "819:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1252,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "819:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1255,
                  "mutability": "mutable",
                  "name": "spender",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "836:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1254,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "836:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "818:34:10"
            },
            "returnParameters": {
              "id": 1260,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1259,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1268,
                  "src": "886:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1258,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "886:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "885:9:10"
            },
            "scope": 1561,
            "src": "800:141:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6898
            ],
            "body": {
              "id": 1286,
              "nodeType": "Block",
              "src": "1048:79:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1278,
                          "name": "m_balances",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 188,
                          "src": "1083:10:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 1280,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1279,
                          "name": "account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1270,
                          "src": "1094:7:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1083:19:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 1281,
                          "name": "m_frozens",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 192,
                          "src": "1104:9:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                            "typeString": "mapping(address => uint256)"
                          }
                        },
                        "id": 1283,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 1282,
                          "name": "account",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 1270,
                          "src": "1114:7:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "1104:18:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 1276,
                        "name": "IexecLibCore_v5",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 380,
                        "src": "1059:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_IexecLibCore_v5_$380_$",
                          "typeString": "type(library IexecLibCore_v5)"
                        }
                      },
                      "id": 1277,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "Account",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 275,
                      "src": "1059:23:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_struct$_Account_$275_storage_ptr_$",
                        "typeString": "type(struct IexecLibCore_v5.Account storage pointer)"
                      }
                    },
                    "id": 1284,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "structConstructorCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1059:64:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Account_$275_memory_ptr",
                      "typeString": "struct IexecLibCore_v5.Account memory"
                    }
                  },
                  "functionReturnParameters": 1275,
                  "id": 1285,
                  "nodeType": "Return",
                  "src": "1052:71:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6b55f4a5",
            "id": 1287,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewAccount",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1272,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "997:8:10"
            },
            "parameters": {
              "id": 1271,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1270,
                  "mutability": "mutable",
                  "name": "account",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1287,
                  "src": "965:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1269,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "965:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "964:17:10"
            },
            "returnParameters": {
              "id": 1275,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1274,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1287,
                  "src": "1015:30:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Account_$275_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Account"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1273,
                    "name": "IexecLibCore_v5.Account",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 275,
                    "src": "1015:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Account_$275_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Account"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1014:32:10"
            },
            "scope": 1561,
            "src": "944:183:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6903
            ],
            "body": {
              "id": 1298,
              "nodeType": "Block",
              "src": "1190:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 1295,
                        "name": "m_baseToken",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 176,
                        "src": "1209:11:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_IERC20_$11203",
                          "typeString": "contract IERC20"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_contract$_IERC20_$11203",
                          "typeString": "contract IERC20"
                        }
                      ],
                      "id": 1294,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "lValueRequested": false,
                      "nodeType": "ElementaryTypeNameExpression",
                      "src": "1201:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_type$_t_address_$",
                        "typeString": "type(address)"
                      },
                      "typeName": {
                        "id": 1293,
                        "name": "address",
                        "nodeType": "ElementaryTypeName",
                        "src": "1201:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": null,
                          "typeString": null
                        }
                      }
                    },
                    "id": 1296,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "typeConversion",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1201:20:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1292,
                  "id": 1297,
                  "nodeType": "Return",
                  "src": "1194:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "fc0c546a",
            "id": 1299,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "token",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1289,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1162:8:10"
            },
            "parameters": {
              "id": 1288,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1144:2:10"
            },
            "returnParameters": {
              "id": 1292,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1291,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1299,
                  "src": "1180:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1290,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1180:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1179:9:10"
            },
            "scope": 1561,
            "src": "1130:95:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6910
            ],
            "body": {
              "id": 1311,
              "nodeType": "Block",
              "src": "1327:27:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1307,
                      "name": "m_deals",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 236,
                      "src": "1338:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Deal_$320_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Deal storage ref)"
                      }
                    },
                    "id": 1309,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1308,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1301,
                      "src": "1346:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1338:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Deal_$320_storage",
                      "typeString": "struct IexecLibCore_v5.Deal storage ref"
                    }
                  },
                  "functionReturnParameters": 1306,
                  "id": 1310,
                  "nodeType": "Return",
                  "src": "1331:19:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "b74861b2",
            "id": 1312,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewDeal",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1303,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1274:8:10"
            },
            "parameters": {
              "id": 1302,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1301,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1312,
                  "src": "1246:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1300,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1246:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1245:13:10"
            },
            "returnParameters": {
              "id": 1306,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1305,
                  "mutability": "mutable",
                  "name": "deal",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1312,
                  "src": "1292:32:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Deal_$320_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Deal"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1304,
                    "name": "IexecLibCore_v5.Deal",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 320,
                    "src": "1292:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Deal_$320_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Deal"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1291:34:10"
            },
            "scope": 1561,
            "src": "1228:126:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6917
            ],
            "body": {
              "id": 1324,
              "nodeType": "Block",
              "src": "1444:30:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1320,
                      "name": "m_consumed",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 232,
                      "src": "1455:10:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_uint256_$",
                        "typeString": "mapping(bytes32 => uint256)"
                      }
                    },
                    "id": 1322,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1321,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1314,
                      "src": "1466:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1455:15:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1319,
                  "id": 1323,
                  "nodeType": "Return",
                  "src": "1448:22:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4b2bec8c",
            "id": 1325,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewConsumed",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1316,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1407:8:10"
            },
            "parameters": {
              "id": 1315,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1314,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1325,
                  "src": "1379:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1313,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1379:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1378:13:10"
            },
            "returnParameters": {
              "id": 1319,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1318,
                  "mutability": "mutable",
                  "name": "consumed",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1325,
                  "src": "1425:16:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1317,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1425:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1424:18:10"
            },
            "scope": 1561,
            "src": "1357:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6924
            ],
            "body": {
              "id": 1337,
              "nodeType": "Block",
              "src": "1563:31:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1333,
                      "name": "m_presigned",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 228,
                      "src": "1574:11:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
                        "typeString": "mapping(bytes32 => address)"
                      }
                    },
                    "id": 1335,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1334,
                      "name": "_id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1327,
                      "src": "1586:3:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1574:16:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1332,
                  "id": 1336,
                  "nodeType": "Return",
                  "src": "1567:23:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d286eb16",
            "id": 1338,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewPresigned",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1329,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1528:8:10"
            },
            "parameters": {
              "id": 1328,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1327,
                  "mutability": "mutable",
                  "name": "_id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1338,
                  "src": "1500:11:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1326,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1500:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1499:13:10"
            },
            "returnParameters": {
              "id": 1332,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1331,
                  "mutability": "mutable",
                  "name": "signer",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1338,
                  "src": "1546:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1330,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1546:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1545:16:10"
            },
            "scope": 1561,
            "src": "1477:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6931
            ],
            "body": {
              "id": 1350,
              "nodeType": "Block",
              "src": "1695:31:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1346,
                      "name": "m_tasks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 240,
                      "src": "1706:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task storage ref)"
                      }
                    },
                    "id": 1348,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1347,
                      "name": "_taskid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1340,
                      "src": "1714:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1706:16:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage",
                      "typeString": "struct IexecLibCore_v5.Task storage ref"
                    }
                  },
                  "functionReturnParameters": 1345,
                  "id": 1349,
                  "nodeType": "Return",
                  "src": "1699:23:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "adccf0d5",
            "id": 1351,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewTask",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1342,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1647:8:10"
            },
            "parameters": {
              "id": 1341,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1340,
                  "mutability": "mutable",
                  "name": "_taskid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1351,
                  "src": "1615:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1339,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1615:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1614:17:10"
            },
            "returnParameters": {
              "id": 1345,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1344,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1351,
                  "src": "1665:27:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Task_$356_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Task"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1343,
                    "name": "IexecLibCore_v5.Task",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 356,
                    "src": "1665:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Task"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1664:29:10"
            },
            "scope": 1561,
            "src": "1597:129:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6940
            ],
            "body": {
              "id": 1367,
              "nodeType": "Block",
              "src": "1860:48:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 1361,
                        "name": "m_contributions",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 250,
                        "src": "1871:15:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_bytes32_$_t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$_$",
                          "typeString": "mapping(bytes32 => mapping(address => struct IexecLibCore_v5.Contribution storage ref))"
                        }
                      },
                      "id": 1363,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 1362,
                        "name": "_taskid",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1353,
                        "src": "1887:7:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bytes32",
                          "typeString": "bytes32"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "1871:24:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Contribution_$379_storage_$",
                        "typeString": "mapping(address => struct IexecLibCore_v5.Contribution storage ref)"
                      }
                    },
                    "id": 1365,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1364,
                      "name": "_worker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1355,
                      "src": "1896:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "1871:33:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Contribution_$379_storage",
                      "typeString": "struct IexecLibCore_v5.Contribution storage ref"
                    }
                  },
                  "functionReturnParameters": 1360,
                  "id": 1366,
                  "nodeType": "Return",
                  "src": "1864:40:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "e741363b",
            "id": 1368,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewContribution",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1357,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1804:8:10"
            },
            "parameters": {
              "id": 1356,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1353,
                  "mutability": "mutable",
                  "name": "_taskid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1755:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1352,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "1755:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 1355,
                  "mutability": "mutable",
                  "name": "_worker",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1772:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1354,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1772:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1754:34:10"
            },
            "returnParameters": {
              "id": 1360,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1359,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1368,
                  "src": "1822:35:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Contribution_$379_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Contribution"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1358,
                    "name": "IexecLibCore_v5.Contribution",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 379,
                    "src": "1822:28:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Contribution_$379_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Contribution"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1821:37:10"
            },
            "scope": 1561,
            "src": "1729:179:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6947
            ],
            "body": {
              "id": 1380,
              "nodeType": "Block",
              "src": "1990:38:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1376,
                      "name": "m_workerScores",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 254,
                      "src": "2001:14:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$",
                        "typeString": "mapping(address => uint256)"
                      }
                    },
                    "id": 1378,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1377,
                      "name": "_worker",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1370,
                      "src": "2016:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_address",
                        "typeString": "address"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2001:23:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1375,
                  "id": 1379,
                  "nodeType": "Return",
                  "src": "1994:30:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "db230b52",
            "id": 1381,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewScore",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1372,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "1962:8:10"
            },
            "parameters": {
              "id": 1371,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1370,
                  "mutability": "mutable",
                  "name": "_worker",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1381,
                  "src": "1930:15:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1369,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1930:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1929:17:10"
            },
            "returnParameters": {
              "id": 1375,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1374,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1381,
                  "src": "1980:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1373,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1980:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1979:9:10"
            },
            "scope": 1561,
            "src": "1911:117:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              10144
            ],
            "body": {
              "id": 1410,
              "nodeType": "Block",
              "src": "2110:162:10",
              "statements": [
                {
                  "assignments": [
                    1392
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 1392,
                      "mutability": "mutable",
                      "name": "task",
                      "nodeType": "VariableDeclaration",
                      "overrides": null,
                      "scope": 1410,
                      "src": "2114:33:10",
                      "stateVariable": false,
                      "storageLocation": "storage",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                        "typeString": "struct IexecLibCore_v5.Task"
                      },
                      "typeName": {
                        "contractScope": null,
                        "id": 1391,
                        "name": "IexecLibCore_v5.Task",
                        "nodeType": "UserDefinedTypeName",
                        "referencedDeclaration": 356,
                        "src": "2114:20:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                          "typeString": "struct IexecLibCore_v5.Task"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 1396,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1393,
                      "name": "m_tasks",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 240,
                      "src": "2150:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Task_$356_storage_$",
                        "typeString": "mapping(bytes32 => struct IexecLibCore_v5.Task storage ref)"
                      }
                    },
                    "id": 1395,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1394,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1383,
                      "src": "2158:2:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2150:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Task_$356_storage",
                      "typeString": "struct IexecLibCore_v5.Task storage ref"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "2114:47:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                          "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                        },
                        "id": 1403,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 1398,
                            "name": "task",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1392,
                            "src": "2173:4:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                              "typeString": "struct IexecLibCore_v5.Task storage pointer"
                            }
                          },
                          "id": 1399,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "status",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 328,
                          "src": "2173:11:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                            "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "expression": {
                              "argumentTypes": null,
                              "id": 1400,
                              "name": "IexecLibCore_v5",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 380,
                              "src": "2188:15:10",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_contract$_IexecLibCore_v5_$380_$",
                                "typeString": "type(library IexecLibCore_v5)"
                              }
                            },
                            "id": 1401,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "memberName": "TaskStatusEnum",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": 326,
                            "src": "2188:30:10",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_enum$_TaskStatusEnum_$326_$",
                              "typeString": "type(enum IexecLibCore_v5.TaskStatusEnum)"
                            }
                          },
                          "id": 1402,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "memberName": "COMPLETED",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2188:40:10",
                          "typeDescriptions": {
                            "typeIdentifier": "t_enum$_TaskStatusEnum_$326",
                            "typeString": "enum IexecLibCore_v5.TaskStatusEnum"
                          }
                        },
                        "src": "2173:55:10",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "7461736b2d70656e64696e67",
                        "id": 1404,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2230:14:10",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_e83e39a9a5a53dacbf0d4c9de4baa8c8369eee8506bebc3b7fb2efffd9520d86",
                          "typeString": "literal_string \"task-pending\""
                        },
                        "value": "task-pending"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_e83e39a9a5a53dacbf0d4c9de4baa8c8369eee8506bebc3b7fb2efffd9520d86",
                          "typeString": "literal_string \"task-pending\""
                        }
                      ],
                      "id": 1397,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        -18,
                        -18
                      ],
                      "referencedDeclaration": -18,
                      "src": "2165:7:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 1405,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2165:80:10",
                    "tryCall": false,
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 1406,
                  "nodeType": "ExpressionStatement",
                  "src": "2165:80:10"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1407,
                      "name": "task",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1392,
                      "src": "2256:4:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Task_$356_storage_ptr",
                        "typeString": "struct IexecLibCore_v5.Task storage pointer"
                      }
                    },
                    "id": 1408,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "results",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 353,
                    "src": "2256:12:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage",
                      "typeString": "bytes storage ref"
                    }
                  },
                  "functionReturnParameters": 1388,
                  "id": 1409,
                  "nodeType": "Return",
                  "src": "2249:19:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "d09cc57e",
            "id": 1411,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "resultFor",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1385,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2077:8:10"
            },
            "parameters": {
              "id": 1384,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1383,
                  "mutability": "mutable",
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1411,
                  "src": "2050:10:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1382,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "2050:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2049:12:10"
            },
            "returnParameters": {
              "id": 1388,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1387,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1411,
                  "src": "2095:12:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 1386,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2095:5:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2094:14:10"
            },
            "scope": 1561,
            "src": "2031:241:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6954
            ],
            "body": {
              "id": 1423,
              "nodeType": "Block",
              "src": "2389:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "id": 1419,
                      "name": "m_categories",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 261,
                      "src": "2400:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
                        "typeString": "struct IexecLibCore_v5.Category storage ref[] storage ref"
                      }
                    },
                    "id": 1421,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 1420,
                      "name": "_catid",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1413,
                      "src": "2413:6:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "2400:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Category_$282_storage",
                      "typeString": "struct IexecLibCore_v5.Category storage ref"
                    }
                  },
                  "functionReturnParameters": 1418,
                  "id": 1422,
                  "nodeType": "Return",
                  "src": "2393:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "4f5f44ec",
            "id": 1424,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "viewCategory",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1415,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2328:8:10"
            },
            "parameters": {
              "id": 1414,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1413,
                  "mutability": "mutable",
                  "name": "_catid",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1424,
                  "src": "2297:14:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1412,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2297:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2296:16:10"
            },
            "returnParameters": {
              "id": 1418,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1417,
                  "mutability": "mutable",
                  "name": "category",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1424,
                  "src": "2346:40:10",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_struct$_Category_$282_memory_ptr",
                    "typeString": "struct IexecLibCore_v5.Category"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1416,
                    "name": "IexecLibCore_v5.Category",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 282,
                    "src": "2346:24:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_struct$_Category_$282_storage_ptr",
                      "typeString": "struct IexecLibCore_v5.Category"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2345:42:10"
            },
            "scope": 1561,
            "src": "2275:149:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6959
            ],
            "body": {
              "id": 1433,
              "nodeType": "Block",
              "src": "2501:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "id": 1430,
                      "name": "m_categories",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 261,
                      "src": "2512:12:10",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_struct$_Category_$282_storage_$dyn_storage",
                        "typeString": "struct IexecLibCore_v5.Category storage ref[] storage ref"
                      }
                    },
                    "id": 1431,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "length",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": null,
                    "src": "2512:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1429,
                  "id": 1432,
                  "nodeType": "Return",
                  "src": "2505:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "c140996f",
            "id": 1434,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "countCategory",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1426,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2467:8:10"
            },
            "parameters": {
              "id": 1425,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2449:2:10"
            },
            "returnParameters": {
              "id": 1429,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1428,
                  "mutability": "mutable",
                  "name": "count",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1434,
                  "src": "2485:13:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1427,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2485:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2484:15:10"
            },
            "scope": 1561,
            "src": "2427:108:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6964
            ],
            "body": {
              "id": 1442,
              "nodeType": "Block",
              "src": "2607:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1440,
                    "name": "m_appregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 170,
                    "src": "2618:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1439,
                  "id": 1441,
                  "nodeType": "Return",
                  "src": "2611:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "45b637a9",
            "id": 1443,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "appregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1436,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2577:8:10"
            },
            "parameters": {
              "id": 1435,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2559:2:10"
            },
            "returnParameters": {
              "id": 1439,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1438,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1443,
                  "src": "2595:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1437,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2595:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2594:11:10"
            },
            "scope": 1561,
            "src": "2539:96:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6969
            ],
            "body": {
              "id": 1451,
              "nodeType": "Block",
              "src": "2710:32:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1449,
                    "name": "m_datasetregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 172,
                    "src": "2721:17:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1448,
                  "id": 1450,
                  "nodeType": "Return",
                  "src": "2714:24:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "b1b11d2c",
            "id": 1452,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "datasetregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1445,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2680:8:10"
            },
            "parameters": {
              "id": 1444,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2662:2:10"
            },
            "returnParameters": {
              "id": 1448,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1447,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1452,
                  "src": "2698:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1446,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2698:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2697:11:10"
            },
            "scope": 1561,
            "src": "2638:104:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6974
            ],
            "body": {
              "id": 1460,
              "nodeType": "Block",
              "src": "2820:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1458,
                    "name": "m_workerpoolregistry",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 174,
                    "src": "2831:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "functionReturnParameters": 1457,
                  "id": 1459,
                  "nodeType": "Return",
                  "src": "2824:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "90a0f546",
            "id": 1461,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "workerpoolregistry",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1454,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2790:8:10"
            },
            "parameters": {
              "id": 1453,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2772:2:10"
            },
            "returnParameters": {
              "id": 1457,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1456,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1461,
                  "src": "2808:9:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_contract$_IRegistry_$7780",
                    "typeString": "contract IRegistry"
                  },
                  "typeName": {
                    "contractScope": null,
                    "id": 1455,
                    "name": "IRegistry",
                    "nodeType": "UserDefinedTypeName",
                    "referencedDeclaration": 7780,
                    "src": "2808:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_IRegistry_$7780",
                      "typeString": "contract IRegistry"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2807:11:10"
            },
            "scope": 1561,
            "src": "2745:110:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6979
            ],
            "body": {
              "id": 1469,
              "nodeType": "Block",
              "src": "2922:26:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1467,
                    "name": "m_teebroker",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 256,
                    "src": "2933:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1466,
                  "id": 1468,
                  "nodeType": "Return",
                  "src": "2926:18:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "5975b8fc",
            "id": 1470,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "teebroker",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1463,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2894:8:10"
            },
            "parameters": {
              "id": 1462,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2876:2:10"
            },
            "returnParameters": {
              "id": 1466,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1465,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1470,
                  "src": "2912:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1464,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2912:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2911:9:10"
            },
            "scope": 1561,
            "src": "2858:90:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6984
            ],
            "body": {
              "id": 1478,
              "nodeType": "Block",
              "src": "3017:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1476,
                    "name": "m_callbackgas",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 258,
                    "src": "3028:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1475,
                  "id": 1477,
                  "nodeType": "Return",
                  "src": "3021:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "e63ec07d",
            "id": 1479,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "callbackgas",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1472,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "2989:8:10"
            },
            "parameters": {
              "id": 1471,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2971:2:10"
            },
            "returnParameters": {
              "id": 1475,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1474,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1479,
                  "src": "3007:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1473,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3007:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3006:9:10"
            },
            "scope": 1561,
            "src": "2951:94:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6989
            ],
            "body": {
              "id": 1487,
              "nodeType": "Block",
              "src": "3130:42:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1485,
                    "name": "CONTRIBUTION_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 201,
                    "src": "3141:27:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1484,
                  "id": 1486,
                  "nodeType": "Return",
                  "src": "3134:34:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "74ed5244",
            "id": 1488,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "contribution_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1481,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3102:8:10"
            },
            "parameters": {
              "id": 1480,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3084:2:10"
            },
            "returnParameters": {
              "id": 1484,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1483,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1488,
                  "src": "3120:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1482,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3120:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3119:9:10"
            },
            "scope": 1561,
            "src": "3048:124:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6994
            ],
            "body": {
              "id": 1496,
              "nodeType": "Block",
              "src": "3251:36:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1494,
                    "name": "REVEAL_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 204,
                    "src": "3262:21:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1493,
                  "id": 1495,
                  "nodeType": "Return",
                  "src": "3255:28:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "2b8857c1",
            "id": 1497,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "reveal_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1490,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3223:8:10"
            },
            "parameters": {
              "id": 1489,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3205:2:10"
            },
            "returnParameters": {
              "id": 1493,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1492,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1497,
                  "src": "3241:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1491,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3241:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3240:9:10"
            },
            "scope": 1561,
            "src": "3175:112:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              6999
            ],
            "body": {
              "id": 1505,
              "nodeType": "Block",
              "src": "3365:35:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1503,
                    "name": "FINAL_DEADLINE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 207,
                    "src": "3376:20:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1502,
                  "id": 1504,
                  "nodeType": "Return",
                  "src": "3369:27:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "db8aaa26",
            "id": 1506,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "final_deadline_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1499,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3337:8:10"
            },
            "parameters": {
              "id": 1498,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3319:2:10"
            },
            "returnParameters": {
              "id": 1502,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1501,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1506,
                  "src": "3355:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1500,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3355:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3354:9:10"
            },
            "scope": 1561,
            "src": "3290:110:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7004
            ],
            "body": {
              "id": 1514,
              "nodeType": "Block",
              "src": "3480:37:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1512,
                    "name": "WORKERPOOL_STAKE_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 210,
                    "src": "3491:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1511,
                  "id": 1513,
                  "nodeType": "Return",
                  "src": "3484:29:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "6112f6fd",
            "id": 1515,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "workerpool_stake_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1508,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3452:8:10"
            },
            "parameters": {
              "id": 1507,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3434:2:10"
            },
            "returnParameters": {
              "id": 1511,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1510,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1515,
                  "src": "3470:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1509,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3470:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3469:9:10"
            },
            "scope": 1561,
            "src": "3403:114:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7009
            ],
            "body": {
              "id": 1523,
              "nodeType": "Block",
              "src": "3586:26:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1521,
                    "name": "KITTY_RATIO",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 213,
                    "src": "3597:11:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1520,
                  "id": 1522,
                  "nodeType": "Return",
                  "src": "3590:18:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "dcb03241",
            "id": 1524,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_ratio",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1517,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3558:8:10"
            },
            "parameters": {
              "id": 1516,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3540:2:10"
            },
            "returnParameters": {
              "id": 1520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1519,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1524,
                  "src": "3576:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1518,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3576:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3575:9:10"
            },
            "scope": 1561,
            "src": "3520:92:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7014
            ],
            "body": {
              "id": 1532,
              "nodeType": "Block",
              "src": "3679:24:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1530,
                    "name": "KITTY_MIN",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 216,
                    "src": "3690:9:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1529,
                  "id": 1531,
                  "nodeType": "Return",
                  "src": "3683:16:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "77a99692",
            "id": 1533,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_min",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1526,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3651:8:10"
            },
            "parameters": {
              "id": 1525,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3633:2:10"
            },
            "returnParameters": {
              "id": 1529,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1528,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1533,
                  "src": "3669:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1527,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3669:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3668:9:10"
            },
            "scope": 1561,
            "src": "3615:88:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7019
            ],
            "body": {
              "id": 1541,
              "nodeType": "Block",
              "src": "3774:28:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1539,
                    "name": "KITTY_ADDRESS",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 219,
                    "src": "3785:13:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "functionReturnParameters": 1538,
                  "id": 1540,
                  "nodeType": "Return",
                  "src": "3778:20:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "a47e7f80",
            "id": 1542,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "kitty_address",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1535,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3746:8:10"
            },
            "parameters": {
              "id": 1534,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3728:2:10"
            },
            "returnParameters": {
              "id": 1538,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1537,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1542,
                  "src": "3764:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 1536,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "3764:7:10",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3763:9:10"
            },
            "scope": 1561,
            "src": "3706:96:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7024
            ],
            "body": {
              "id": 1550,
              "nodeType": "Block",
              "src": "3879:34:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1548,
                    "name": "GROUPMEMBER_PURPOSE",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 222,
                    "src": "3890:19:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 1547,
                  "id": 1549,
                  "nodeType": "Return",
                  "src": "3883:26:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "25eacba8",
            "id": 1551,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "groupmember_purpose",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1544,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3851:8:10"
            },
            "parameters": {
              "id": 1543,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3833:2:10"
            },
            "returnParameters": {
              "id": 1547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1546,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1551,
                  "src": "3869:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 1545,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "3869:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3868:9:10"
            },
            "scope": 1561,
            "src": "3805:108:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          },
          {
            "baseFunctions": [
              7029
            ],
            "body": {
              "id": 1559,
              "nodeType": "Block",
              "src": "3993:37:10",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 1557,
                    "name": "EIP712DOMAIN_SEPARATOR",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 224,
                    "src": "4004:22:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "functionReturnParameters": 1556,
                  "id": 1558,
                  "nodeType": "Return",
                  "src": "3997:29:10"
                }
              ]
            },
            "documentation": null,
            "functionSelector": "9910fd72",
            "id": 1560,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "eip712domain_separator",
            "nodeType": "FunctionDefinition",
            "overrides": {
              "id": 1553,
              "nodeType": "OverrideSpecifier",
              "overrides": [],
              "src": "3965:8:10"
            },
            "parameters": {
              "id": 1552,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3947:2:10"
            },
            "returnParameters": {
              "id": 1556,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 1555,
                  "mutability": "mutable",
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "overrides": null,
                  "scope": 1560,
                  "src": "3983:7:10",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes32",
                    "typeString": "bytes32"
                  },
                  "typeName": {
                    "id": 1554,
                    "name": "bytes32",
                    "nodeType": "ElementaryTypeName",
                    "src": "3983:7:10",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3982:9:10"
            },
            "scope": 1561,
            "src": "3916:114:10",
            "stateMutability": "view",
            "virtual": false,
            "visibility": "external"
          }
        ],
        "scope": 1562,
        "src": "134:3898:10"
      }
    ],
    "src": "0:4033:10"
  },
  "compiler": {
    "name": "solc",
    "version": "0.6.6+commit.6c089d02.Emscripten.clang"
  },
  "networks": {
    "1": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xF41Dc1399Ad1CCF2E89a26878910907653bd379a"
    },
    "3": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xF41Dc1399Ad1CCF2E89a26878910907653bd379a"
    },
    "4": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xF41Dc1399Ad1CCF2E89a26878910907653bd379a"
    },
    "5": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xF41Dc1399Ad1CCF2E89a26878910907653bd379a"
    },
    "42": {
      "events": {
        "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": {
          "anonymous": false,
          "inputs": [
            {
              "indexed": true,
              "internalType": "address",
              "name": "previousOwner",
              "type": "address"
            },
            {
              "indexed": true,
              "internalType": "address",
              "name": "newOwner",
              "type": "address"
            }
          ],
          "name": "OwnershipTransferred",
          "type": "event"
        }
      },
      "links": {},
      "address": "0xF41Dc1399Ad1CCF2E89a26878910907653bd379a"
    }
  },
  "schemaVersion": "3.1.0",
  "updatedAt": "2020-04-21T19:16:56.054Z",
  "networkType": "ethereum",
  "devdoc": {
    "methods": {
      "owner()": {
        "details": "Returns the address of the current owner."
      },
      "renounceOwnership()": {
        "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner.     * NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."
      },
      "transferOwnership(address)": {
        "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
      }
    }
  },
  "userdoc": {
    "methods": {}
  }
}