{
  "contractName": "TimeLogger",
  "abi": [
    {
      "constant": true,
      "inputs": [],
      "name": "startDate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "duration",
      "outputs": [
        {
          "name": "",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "EXTERNAL_SOURCE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "signatureId",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CLAUSE_EVENT_TYPE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "expired",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "userContract",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "timeLog",
      "outputs": [
        {
          "name": "timeStart",
          "type": "uint256"
        },
        {
          "name": "timeEnd",
          "type": "uint256"
        },
        {
          "name": "source",
          "type": "string"
        },
        {
          "name": "valid",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "SECONDS_PER_DAY",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "documentId",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "ownerContract",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "contractId",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "SOLIDITY_SOURCE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "endDate",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "weeklyHours",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "signatureContract",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "notifiersKey",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "lastOpenDay",
      "outputs": [
        {
          "name": "",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "CREATION_EVENT_TYPE",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "VALIDATED_NOTIFIERS_KEY",
      "outputs": [
        {
          "name": "",
          "type": "string"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [],
      "name": "signaturit",
      "outputs": [
        {
          "name": "",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "name": "managerContractAddress",
          "type": "address"
        },
        {
          "name": "ownerContractAddress",
          "type": "address"
        },
        {
          "name": "signatureContractAddress",
          "type": "address"
        },
        {
          "name": "id",
          "type": "string"
        },
        {
          "name": "document",
          "type": "string"
        },
        {
          "name": "start",
          "type": "uint256"
        },
        {
          "name": "end",
          "type": "uint256"
        },
        {
          "name": "weekHours",
          "type": "uint256"
        },
        {
          "name": "contractDuration",
          "type": "int256"
        }
      ],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "time",
          "type": "uint256"
        }
      ],
      "name": "externalSourceLog",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "soliditySourceLog",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [],
      "name": "expireContract",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "thisDay",
          "type": "uint256"
        },
        {
          "name": "start",
          "type": "uint256"
        },
        {
          "name": "end",
          "type": "uint256"
        }
      ],
      "name": "createTimeLog",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "thisDay",
          "type": "uint256"
        },
        {
          "name": "logIndex",
          "type": "uint256"
        },
        {
          "name": "start",
          "type": "uint256"
        },
        {
          "name": "end",
          "type": "uint256"
        },
        {
          "name": "validity",
          "type": "bool"
        }
      ],
      "name": "editTimeLog",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "thisDay",
          "type": "uint256"
        }
      ],
      "name": "getDayTime",
      "outputs": [
        {
          "name": "total",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "startDay",
          "type": "uint256"
        },
        {
          "name": "endDay",
          "type": "uint256"
        }
      ],
      "name": "getTotalLoggedTime",
      "outputs": [
        {
          "name": "total",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "thisDay",
          "type": "uint256"
        },
        {
          "name": "index",
          "type": "uint256"
        }
      ],
      "name": "getTimeLog",
      "outputs": [
        {
          "name": "start",
          "type": "uint256"
        },
        {
          "name": "end",
          "type": "uint256"
        },
        {
          "name": "source",
          "type": "string"
        },
        {
          "name": "valid",
          "type": "bool"
        },
        {
          "name": "more",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040526000600b553480156200001657600080fd5b50604051620025463803806200254683398101806040526101208110156200003d57600080fd5b81516020830151604084015160608501805193959294919391830192916401000000008111156200006d57600080fd5b820160208101848111156200008157600080fd5b81516401000000008111828201871017156200009c57600080fd5b50509291906020018051640100000000811115620000b957600080fd5b82016020810184811115620000cd57600080fd5b8151640100000000811182820187101715620000e857600080fd5b505060208083015160408085015160608601516080909601518251808401909352601b8084527f74696d656c6f676765722d636c617573652d6e6f7469666965727300000000009584019586529598509296509493919290916200014f9160009162000667565b505085516200016690600290602089019062000667565b5084516200017c90600390602088019062000667565b5060098490556008839055600a829055600c8190556007805460058054600160a060020a0319908116600160a060020a038e81169190911792839055600160a860020a03199093168c841617909355600680549093168a831617909255604080518082018252601381527f76616c6964617465642d6e6f746966696572730000000000000000000000000060208083019190915282517f8f84aa090000000000000000000000000000000000000000000000000000000081529251949093169363d661f8789391928592638f84aa0992600483810193829003018186803b1580156200026757600080fd5b505afa1580156200027c573d6000803e3d6000fd5b505050506040513d60208110156200029357600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a038316602482015260048101918252835160448201528351829160640190602086019080838360005b838110156200030b578181015183820152602001620002f1565b50505050905090810190601f168015620003395780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156200035a57600080fd5b505af11580156200036f573d6000803e3d6000fd5b5050600554604080518082018252601381527f76616c6964617465642d6e6f746966696572730000000000000000000000000060208083019190915260075483517f8f84aa090000000000000000000000000000000000000000000000000000000081529351600160a060020a03958616975063d661f878965092941692638f84aa099260048083019392829003018186803b1580156200040f57600080fd5b505afa15801562000424573d6000803e3d6000fd5b505050506040513d60208110156200043b57600080fd5b5051604080517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a038316602482015260048101918252835160448201528351829160640190602086019080838360005b83811015620004b357818101518382015260200162000499565b50505050905090810190601f168015620004e15780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156200050257600080fd5b505af115801562000517573d6000803e3d6000fd5b505050506200056a6040805190810160405280601981526020017f74696d656c6f676765725f636c617573652e637265617465640000000000000081525062000579640100000000026401000000009004565b5050505050505050506200070c565b600654604080517fe71e6576000000000000000000000000000000000000000000000000000000008152306024820181905260048201928352845160448301528451600160a060020a039094169363e71e65769386939091829160640190602086019080838360005b83811015620005fc578181015183820152602001620005e2565b50505050905090810190601f1680156200062a5780820380516001836020036101000a031916815260200191505b509350505050600060405180830381600087803b1580156200064b57600080fd5b505af115801562000660573d6000803e3d6000fd5b5050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620006aa57805160ff1916838001178555620006da565b82800160010185558215620006da579182015b82811115620006da578251825591602001919060010190620006bd565b50620006e8929150620006ec565b5090565b6200070991905b80821115620006e85760008155600101620006f3565b90565b611e2a806200071c6000396000f3fe60806040526004361061015b5763ffffffff60e060020a6000350416630b97bc8681146101605780630f73d0b4146101875780630fb5a6b41461019e5780631217d312146101b357806324269a62146101dd5780632c22475c146102215780632cd52e1b146102ab578063395ba050146102d55780634396fd12146102ea5780634c2067c7146102ff5780635000596b1461032857806362a925eb1461035957806374f0314f1461041457806378f7c83f146104295780637f74ac151461043e5780638291286c14610453578063a06bd8d714610468578063a8cbc34514610534578063b644bb3b1461056a578063c24a0f8b1461057f578063c782bbdd14610594578063d83070ab146105a9578063d9026ed1146105be578063dd0340c4146105d3578063dea84444146105e8578063ef8c7154146105fd578063f39ea3df14610612578063f638522c14610627578063f9b5333514610657575b600080fd5b34801561016c57600080fd5b5061017561066c565b60408051918252519081900360200190f35b34801561019357600080fd5b5061019c610672565b005b3480156101aa57600080fd5b50610175610770565b3480156101bf57600080fd5b5061019c600480360360208110156101d657600080fd5b5035610776565b3480156101e957600080fd5b5061019c600480360360a081101561020057600080fd5b508035906020810135906040810135906060810135906080013515156108dc565b34801561022d57600080fd5b50610236610b21565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b757600080fd5b50610175600480360360208110156102ce57600080fd5b5035610b46565b3480156102e157600080fd5b50610236610b82565b3480156102f657600080fd5b50610236610c10565b34801561030b57600080fd5b50610314610c3a565b604080519115158252519081900360200190f35b34801561033457600080fd5b5061033d610c4a565b60408051600160a060020a039092168252519081900360200190f35b34801561036557600080fd5b506103836004803603602081101561037c57600080fd5b5035610c59565b604051808581526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561042057600080fd5b50610175610d32565b34801561043557600080fd5b50610236610d39565b34801561044a57600080fd5b5061033d610d94565b34801561045f57600080fd5b50610236610da3565b34801561047457600080fd5b506104986004803603604081101561048b57600080fd5b5080359060200135610dfb565b60405180868152602001858152602001806020018415151515815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b838110156104f55781810151838201526020016104dd565b50505050905090810190601f1680156105225780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561054057600080fd5b5061019c6004803603606081101561055757600080fd5b508035906020810135906040013561104a565b34801561057657600080fd5b5061023661119a565b34801561058b57600080fd5b506101756111bf565b3480156105a057600080fd5b506101756111c5565b3480156105b557600080fd5b5061033d6111cb565b3480156105ca57600080fd5b506102366111da565b3480156105df57600080fd5b50610175611235565b3480156105f457600080fd5b5061023661123b565b34801561060957600080fd5b5061019c611272565b34801561061e57600080fd5b506102366113e7565b34801561063357600080fd5b506101756004803603604081101561064a57600080fd5b5080359060200135611417565b34801561066357600080fd5b5061033d611478565b60095481565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051600160a060020a03163314610758576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b6007805460a060020a60ff02191660a060020a179055565b600c5481565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156107c757600080fd5b505afa1580156107db573d6000803e3d6000fd5b505050506040513d60208110156107f157600080fd5b5051600160a060020a0316331461085c576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b60075460a060020a900460ff16156108ac576040805160e560020a62461bcd0281526020600482015260196024820152600080516020611dbf833981519152604482015290519081900360640190fd5b6108d98160408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250611487565b50565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561092d57600080fd5b505afa158015610941573d6000803e3d6000fd5b505050506040513d602081101561095757600080fd5b5051600160a060020a031633146109c2576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b82821015610a12576040805160e560020a62461bcd0281526020600482015260126024820152607060020a71496e76616c69642074696d65206672616d6502604482015290519081900360640190fd5b6000858152600e60205260408120805486908110610a2c57fe5b9060005260206000200154905083600d82815481101515610a4957fe5b6000918252602090912060049091020155600d805484919083908110610a6b57fe5b90600052602060002090600402016001018190555081600d82815481101515610a9057fe5b906000526020600020906004020160030160006101000a81548160ff02191690831515021790555060408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250600d82815481101515610aeb57fe5b90600052602060002090600402016002019080519060200190610b0f929190611ce9565b50610b1986611512565b505050505050565b604080518082019091526008815260c260020a67195e1d195c9b985b02602082015281565b6000818152600e602052604081206002015460ff161515610b6957506000610b7d565b506000818152600e60205260409020600101545b919050565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b820191906000526020600020905b815481529060010190602001808311610beb57829003601f168201915b505050505081565b60408051808201909152600d8152609a60020a6c1d1a5b595b1bd9cb985919195902602082015281565b60075460a060020a900460ff1681565b600554600160a060020a031681565b600d805482908110610c6757fe5b9060005260206000209060040201600091509050806000015490806001015490806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d1f5780601f10610cf457610100808354040283529160200191610d1f565b820191906000526020600020905b815481529060010190602001808311610d0257829003601f168201915b5050506003909301549192505060ff1684565b6201518081565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b600754600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b6000828152600e602052604081206002015481906060908290819060ff161580610e3357506000878152600e60205260409020548610155b15610e5857505060408051602081019091526000808252935083925090508180611040565b6000878152600e602052604081205460001901871015610e76575060015b6000888152600e602052604090208054600d919089908110610e9457fe5b9060005260206000200154815481101515610eab57fe5b600091825260208083206004909202909101548a8352600e90915260409091208054600d91908a908110610edb57fe5b9060005260206000200154815481101515610ef257fe5b906000526020600020906004020160010154600d600e60008c81526020019081526020016000206000018a815481101515610f2957fe5b9060005260206000200154815481101515610f4057fe5b9060005260206000209060040201600201600d600e60008d81526020019081526020016000206000018b815481101515610f7657fe5b9060005260206000200154815481101515610f8d57fe5b6000918252602091829020600491909102016003015482546040805160026101006001851615026000190190931692909204601f810185900485028301850190915280825260ff909216928792859183018282801561102d5780601f106110025761010080835404028352916020019161102d565b820191906000526020600020905b81548152906001019060200180831161101057829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561109b57600080fd5b505afa1580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b5051600160a060020a03163314611130576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b611139836115e2565b611167838360408051908101604052806008815260200160c260020a67195e1d195c9b985b0281525061165d565b611195838260408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250611769565b505050565b604080518082019091526008815260c060020a67736f6c696469747902602082015281565b60085481565b600a5481565b600654600160a060020a031681565b6000805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b600b5481565b60408051808201909152601981527f74696d656c6f676765725f636c617573652e6372656174656400000000000000602082015281565b600760009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156112c357600080fd5b505afa1580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b5051600160a060020a03163314611368576040805160e560020a62461bcd02815260206004820152602e60248201527f4f6e6c7920746865206f776e6572206163636f756e742063616e20706572666f6044820152609160020a6d3936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b60075460a060020a900460ff16156113b8576040805160e560020a62461bcd0281526020600482015260196024820152600080516020611dbf833981519152604482015290519081900360640190fd5b6113e54260408051908101604052806008815260200160c060020a67736f6c696469747902815250611487565b565b6040805180820190915260138152606860020a7276616c6964617465642d6e6f7469666965727302602082015281565b60008183111561142957506000611472565b6000835b83811161146e576000818152600e602052604090206002015460ff1615611466576000818152600e602052604090206001015491909101905b60010161142d565b5090505b92915050565b600154600160a060020a031681565b620151808204611496816115e2565b600b54156114ce57600b548111156114b8576114b38184846119ab565b6114c3565b6114c3818484611769565b506000600b5561150e565b6114d981848461165d565b600b81905560408051808201909152600d8152609a60020a6c1d1a5b595b1bd9cb9859191959026020820152611195906119f1565b5050565b6000805b6000838152600e60205260409020548110156115cc576000838152600e602052604090208054600d91908390811061154a57fe5b906000526020600020015481548110151561156157fe5b60009182526020808320600490920290910154858352600e90915260409091208054600d91908490811061159157fe5b90600052602060002001548154811015156115a857fe5b90600052602060002090600402016001015403820191508080600101915050611516565b506000918252600e602052604090912060010155565b6000818152600e602052604090205415156108d957604080516060818101835280825260006020808401829052600184860152858252600e815293902082518051929491926116349284920190611d67565b50602082015160018201556040909101516002909101805460ff19169115159190911790555050565b6040805160808101825283815260006020808301828152938301858152600160608501819052600d80549182018082559452845160049091027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5810191825595517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb6870155905180519395919361171d937fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb7909301929190910190611ce9565b50606091909101516003909101805460ff19169115159190911790555050506000908152600e602090815260408220600d54815460018101835591845291909220600019909101910155565b6000838152600e602052604081208054600019810190811061178757fe5b90600052602060002001549050600d818154811015156117a357fe5b6000918252602090912060049091020154831015611803576040805160e560020a62461bcd0281526020600482015260126024820152607060020a71496e76616c69642074696d65206672616d6502604482015290519081900360640190fd5b816040516020018082805190602001908083835b602083106118365780518252601f199092019160209182019101611817565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120600d8281548110151561188057fe5b906000526020600020906004020160020160405160200180828054600181600116156101000203166002900480156118ef5780601f106118cd5761010080835404028352918201916118ef565b820191906000526020600020905b8154815290600101906020018083116118db575b5050915050604051602081830303815290604052805190602001201415156119475781600d8281548110151561192157fe5b90600052602060002090600402016002019080519060200190611945929190611ce9565b505b82600d8281548110151561195757fe5b6000918252602090912060016004909202010155600d80548290811061197957fe5b60009182526020808320600490920290910154958252600e905260409020600101805494909303939093019091555050565b600b546201518081810201906119c2908284611769565b6119ce84600b54611c60565b6201518084026119df85828561165d565b6119ea858585611769565b5050505050565b6000805b6005546040805160e260020a633ce8989d0281526024810184905260048101918252600080546002600019600183161561010002019091160460448301819052600160a060020a039094169363f3a2627493919286929182916064019085908015611aa15780601f10611a7657610100808354040283529160200191611aa1565b820191906000526020600020905b815481529060010190602001808311611a8457829003601f168201915b5050935050505060206040518083038186803b158015611ac057600080fd5b505afa158015611ad4573d6000803e3d6000fd5b505050506040513d6020811015611aea57600080fd5b50519150600101600160a060020a03821615611c4b5760408051306044820181905260248201928352855160648301528551600160a060020a0386169387939091829160840190602086019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152602082018051600160e060020a031660e160020a63738f32bb0217815290518251929650945084935091508083835b60208310611be05780518252601f199092019160209182019101611bc1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c42576040519150601f19603f3d011682016040523d82523d6000602084013e611c47565b606091505b5050505b600160a060020a03821615156119f557505050565b600181015b8281101561119557611c76816115e2565b604080518082019091526008815260c060020a67736f6c6964697479026020820152620151808281029190820190611cb1908490849061165d565b611cdf838260408051908101604052806008815260200160c060020a67736f6c696469747902815250611769565b5050600101611c65565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611d2a57805160ff1916838001178555611d57565b82800160010185558215611d57579182015b82811115611d57578251825591602001919060010190611d3c565b50611d63929150611da1565b5090565b828054828255906000526020600020908101928215611d575791602002820182811115611d57578251825591602001919060010190611d3c565b611dbb91905b80821115611d635760008155600101611da7565b9056fe5468697320636f6e7472616374206861732065787069726564000000000000004f6e6c7920746865206d616e61676572206163636f756e742063616e20706572a165627a7a72305820fef0f4d3228d50d0aed767722931fe72803d09a41df48d1b9b213f9dcd1a95d10029",
  "deployedBytecode": "0x60806040526004361061015b5763ffffffff60e060020a6000350416630b97bc8681146101605780630f73d0b4146101875780630fb5a6b41461019e5780631217d312146101b357806324269a62146101dd5780632c22475c146102215780632cd52e1b146102ab578063395ba050146102d55780634396fd12146102ea5780634c2067c7146102ff5780635000596b1461032857806362a925eb1461035957806374f0314f1461041457806378f7c83f146104295780637f74ac151461043e5780638291286c14610453578063a06bd8d714610468578063a8cbc34514610534578063b644bb3b1461056a578063c24a0f8b1461057f578063c782bbdd14610594578063d83070ab146105a9578063d9026ed1146105be578063dd0340c4146105d3578063dea84444146105e8578063ef8c7154146105fd578063f39ea3df14610612578063f638522c14610627578063f9b5333514610657575b600080fd5b34801561016c57600080fd5b5061017561066c565b60408051918252519081900360200190f35b34801561019357600080fd5b5061019c610672565b005b3480156101aa57600080fd5b50610175610770565b3480156101bf57600080fd5b5061019c600480360360208110156101d657600080fd5b5035610776565b3480156101e957600080fd5b5061019c600480360360a081101561020057600080fd5b508035906020810135906040810135906060810135906080013515156108dc565b34801561022d57600080fd5b50610236610b21565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610270578181015183820152602001610258565b50505050905090810190601f16801561029d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156102b757600080fd5b50610175600480360360208110156102ce57600080fd5b5035610b46565b3480156102e157600080fd5b50610236610b82565b3480156102f657600080fd5b50610236610c10565b34801561030b57600080fd5b50610314610c3a565b604080519115158252519081900360200190f35b34801561033457600080fd5b5061033d610c4a565b60408051600160a060020a039092168252519081900360200190f35b34801561036557600080fd5b506103836004803603602081101561037c57600080fd5b5035610c59565b604051808581526020018481526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b838110156103d65781810151838201526020016103be565b50505050905090810190601f1680156104035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390f35b34801561042057600080fd5b50610175610d32565b34801561043557600080fd5b50610236610d39565b34801561044a57600080fd5b5061033d610d94565b34801561045f57600080fd5b50610236610da3565b34801561047457600080fd5b506104986004803603604081101561048b57600080fd5b5080359060200135610dfb565b60405180868152602001858152602001806020018415151515815260200183151515158152602001828103825285818151815260200191508051906020019080838360005b838110156104f55781810151838201526020016104dd565b50505050905090810190601f1680156105225780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34801561054057600080fd5b5061019c6004803603606081101561055757600080fd5b508035906020810135906040013561104a565b34801561057657600080fd5b5061023661119a565b34801561058b57600080fd5b506101756111bf565b3480156105a057600080fd5b506101756111c5565b3480156105b557600080fd5b5061033d6111cb565b3480156105ca57600080fd5b506102366111da565b3480156105df57600080fd5b50610175611235565b3480156105f457600080fd5b5061023661123b565b34801561060957600080fd5b5061019c611272565b34801561061e57600080fd5b506102366113e7565b34801561063357600080fd5b506101756004803603604081101561064a57600080fd5b5080359060200135611417565b34801561066357600080fd5b5061033d611478565b60095481565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156106c357600080fd5b505afa1580156106d7573d6000803e3d6000fd5b505050506040513d60208110156106ed57600080fd5b5051600160a060020a03163314610758576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b6007805460a060020a60ff02191660a060020a179055565b600c5481565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156107c757600080fd5b505afa1580156107db573d6000803e3d6000fd5b505050506040513d60208110156107f157600080fd5b5051600160a060020a0316331461085c576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b60075460a060020a900460ff16156108ac576040805160e560020a62461bcd0281526020600482015260196024820152600080516020611dbf833981519152604482015290519081900360640190fd5b6108d98160408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250611487565b50565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561092d57600080fd5b505afa158015610941573d6000803e3d6000fd5b505050506040513d602081101561095757600080fd5b5051600160a060020a031633146109c2576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b82821015610a12576040805160e560020a62461bcd0281526020600482015260126024820152607060020a71496e76616c69642074696d65206672616d6502604482015290519081900360640190fd5b6000858152600e60205260408120805486908110610a2c57fe5b9060005260206000200154905083600d82815481101515610a4957fe5b6000918252602090912060049091020155600d805484919083908110610a6b57fe5b90600052602060002090600402016001018190555081600d82815481101515610a9057fe5b906000526020600020906004020160030160006101000a81548160ff02191690831515021790555060408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250600d82815481101515610aeb57fe5b90600052602060002090600402016002019080519060200190610b0f929190611ce9565b50610b1986611512565b505050505050565b604080518082019091526008815260c260020a67195e1d195c9b985b02602082015281565b6000818152600e602052604081206002015460ff161515610b6957506000610b7d565b506000818152600e60205260409020600101545b919050565b6004805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b820191906000526020600020905b815481529060010190602001808311610beb57829003601f168201915b505050505081565b60408051808201909152600d8152609a60020a6c1d1a5b595b1bd9cb985919195902602082015281565b60075460a060020a900460ff1681565b600554600160a060020a031681565b600d805482908110610c6757fe5b9060005260206000209060040201600091509050806000015490806001015490806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d1f5780601f10610cf457610100808354040283529160200191610d1f565b820191906000526020600020905b815481529060010190602001808311610d0257829003601f168201915b5050506003909301549192505060ff1684565b6201518081565b6003805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b600754600160a060020a031681565b6002805460408051602060018416156101000260001901909316849004601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b6000828152600e602052604081206002015481906060908290819060ff161580610e3357506000878152600e60205260409020548610155b15610e5857505060408051602081019091526000808252935083925090508180611040565b6000878152600e602052604081205460001901871015610e76575060015b6000888152600e602052604090208054600d919089908110610e9457fe5b9060005260206000200154815481101515610eab57fe5b600091825260208083206004909202909101548a8352600e90915260409091208054600d91908a908110610edb57fe5b9060005260206000200154815481101515610ef257fe5b906000526020600020906004020160010154600d600e60008c81526020019081526020016000206000018a815481101515610f2957fe5b9060005260206000200154815481101515610f4057fe5b9060005260206000209060040201600201600d600e60008d81526020019081526020016000206000018b815481101515610f7657fe5b9060005260206000200154815481101515610f8d57fe5b6000918252602091829020600491909102016003015482546040805160026101006001851615026000190190931692909204601f810185900485028301850190915280825260ff909216928792859183018282801561102d5780601f106110025761010080835404028352916020019161102d565b820191906000526020600020905b81548152906001019060200180831161101057829003601f168201915b5050505050925095509550955095509550505b9295509295909350565b600560009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561109b57600080fd5b505afa1580156110af573d6000803e3d6000fd5b505050506040513d60208110156110c557600080fd5b5051600160a060020a03163314611130576040805160e560020a62461bcd0281526020600482015260306024820152600080516020611ddf8339815191526044820152608160020a6f3337b936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b611139836115e2565b611167838360408051908101604052806008815260200160c260020a67195e1d195c9b985b0281525061165d565b611195838260408051908101604052806008815260200160c260020a67195e1d195c9b985b02815250611769565b505050565b604080518082019091526008815260c060020a67736f6c696469747902602082015281565b60085481565b600a5481565b600654600160a060020a031681565b6000805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c085780601f10610bdd57610100808354040283529160200191610c08565b600b5481565b60408051808201909152601981527f74696d656c6f676765725f636c617573652e6372656174656400000000000000602082015281565b600760009054906101000a9004600160a060020a0316600160a060020a0316638f84aa096040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156112c357600080fd5b505afa1580156112d7573d6000803e3d6000fd5b505050506040513d60208110156112ed57600080fd5b5051600160a060020a03163314611368576040805160e560020a62461bcd02815260206004820152602e60248201527f4f6e6c7920746865206f776e6572206163636f756e742063616e20706572666f6044820152609160020a6d3936903a3434b99030b1ba34b7b702606482015290519081900360840190fd5b60075460a060020a900460ff16156113b8576040805160e560020a62461bcd0281526020600482015260196024820152600080516020611dbf833981519152604482015290519081900360640190fd5b6113e54260408051908101604052806008815260200160c060020a67736f6c696469747902815250611487565b565b6040805180820190915260138152606860020a7276616c6964617465642d6e6f7469666965727302602082015281565b60008183111561142957506000611472565b6000835b83811161146e576000818152600e602052604090206002015460ff1615611466576000818152600e602052604090206001015491909101905b60010161142d565b5090505b92915050565b600154600160a060020a031681565b620151808204611496816115e2565b600b54156114ce57600b548111156114b8576114b38184846119ab565b6114c3565b6114c3818484611769565b506000600b5561150e565b6114d981848461165d565b600b81905560408051808201909152600d8152609a60020a6c1d1a5b595b1bd9cb9859191959026020820152611195906119f1565b5050565b6000805b6000838152600e60205260409020548110156115cc576000838152600e602052604090208054600d91908390811061154a57fe5b906000526020600020015481548110151561156157fe5b60009182526020808320600490920290910154858352600e90915260409091208054600d91908490811061159157fe5b90600052602060002001548154811015156115a857fe5b90600052602060002090600402016001015403820191508080600101915050611516565b506000918252600e602052604090912060010155565b6000818152600e602052604090205415156108d957604080516060818101835280825260006020808401829052600184860152858252600e815293902082518051929491926116349284920190611d67565b50602082015160018201556040909101516002909101805460ff19169115159190911790555050565b6040805160808101825283815260006020808301828152938301858152600160608501819052600d80549182018082559452845160049091027fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5810191825595517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb6870155905180519395919361171d937fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb7909301929190910190611ce9565b50606091909101516003909101805460ff19169115159190911790555050506000908152600e602090815260408220600d54815460018101835591845291909220600019909101910155565b6000838152600e602052604081208054600019810190811061178757fe5b90600052602060002001549050600d818154811015156117a357fe5b6000918252602090912060049091020154831015611803576040805160e560020a62461bcd0281526020600482015260126024820152607060020a71496e76616c69642074696d65206672616d6502604482015290519081900360640190fd5b816040516020018082805190602001908083835b602083106118365780518252601f199092019160209182019101611817565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405160208183030381529060405280519060200120600d8281548110151561188057fe5b906000526020600020906004020160020160405160200180828054600181600116156101000203166002900480156118ef5780601f106118cd5761010080835404028352918201916118ef565b820191906000526020600020905b8154815290600101906020018083116118db575b5050915050604051602081830303815290604052805190602001201415156119475781600d8281548110151561192157fe5b90600052602060002090600402016002019080519060200190611945929190611ce9565b505b82600d8281548110151561195757fe5b6000918252602090912060016004909202010155600d80548290811061197957fe5b60009182526020808320600490920290910154958252600e905260409020600101805494909303939093019091555050565b600b546201518081810201906119c2908284611769565b6119ce84600b54611c60565b6201518084026119df85828561165d565b6119ea858585611769565b5050505050565b6000805b6005546040805160e260020a633ce8989d0281526024810184905260048101918252600080546002600019600183161561010002019091160460448301819052600160a060020a039094169363f3a2627493919286929182916064019085908015611aa15780601f10611a7657610100808354040283529160200191611aa1565b820191906000526020600020905b815481529060010190602001808311611a8457829003601f168201915b5050935050505060206040518083038186803b158015611ac057600080fd5b505afa158015611ad4573d6000803e3d6000fd5b505050506040513d6020811015611aea57600080fd5b50519150600101600160a060020a03821615611c4b5760408051306044820181905260248201928352855160648301528551600160a060020a0386169387939091829160840190602086019080838360005b83811015611b54578181015183820152602001611b3c565b50505050905090810190601f168015611b815780820380516001836020036101000a031916815260200191505b5060408051601f19818403018152918152602082018051600160e060020a031660e160020a63738f32bb0217815290518251929650945084935091508083835b60208310611be05780518252601f199092019160209182019101611bc1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611c42576040519150601f19603f3d011682016040523d82523d6000602084013e611c47565b606091505b5050505b600160a060020a03821615156119f557505050565b600181015b8281101561119557611c76816115e2565b604080518082019091526008815260c060020a67736f6c6964697479026020820152620151808281029190820190611cb1908490849061165d565b611cdf838260408051908101604052806008815260200160c060020a67736f6c696469747902815250611769565b5050600101611c65565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611d2a57805160ff1916838001178555611d57565b82800160010185558215611d57579182015b82811115611d57578251825591602001919060010190611d3c565b50611d63929150611da1565b5090565b828054828255906000526020600020908101928215611d575791602002820182811115611d57578251825591602001919060010190611d3c565b611dbb91905b80821115611d635760008155600101611da7565b9056fe5468697320636f6e7472616374206861732065787069726564000000000000004f6e6c7920746865206d616e61676572206163636f756e742063616e20706572a165627a7a72305820fef0f4d3228d50d0aed767722931fe72803d09a41df48d1b9b213f9dcd1a95d10029",
  "sourceMap": "82:8227:18:-;;;935:1;909:27;;1039:987;8:9:-1;5:2;;;30:1;27;20:12;5:2;1039:987:18;;;;;;;;;;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;1039:987:18;;;;;;;;;;;;;;;;;;;;;;;;;;19:11:-1;11:20;;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;0:372;;1039:987:18;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;62:21;;123:4;114:14;;138:31;;;135:2;;;182:1;179;172:12;135:2;213:10;;261:11;244:29;;285:43;;;282:58;-1:-1;233:115;230:2;;;361:1;358;351:12;230:2;-1:-1;;1039:987:18;;;;;;;;;;;;;;;;;;;400:111:8;;;;;;;;;;;;;;;;;;;1039:987:18;;-1:-1:-1;1039:987:18;;-1:-1:-1;1039:987:18;;;;400:111:8;;480:24;;-1:-1:-1;;480:24:8;:::i;:::-;-1:-1:-1;;1357:15:18;;;;:10;;:15;;;;;:::i;:::-;-1:-1:-1;1382:21:18;;;;:10;;:21;;;;;:::i;:::-;-1:-1:-1;1414:9:18;:17;;;1441:7;:13;;;1464:11;:23;;;1497:8;:27;;;1535:7;:15;;-1:-1:-1;1561:62:18;;-1:-1:-1;;;;;;1561:62:18;;;-1:-1:-1;;;;;1561:62:18;;;;;;;;;;;-1:-1:-1;;;;;;1633:61:18;;;;;;;;;;1704:17;:63;;;;;;;;;;;;1816:23;;;;;;;;;;;;;;;;;;;;1841:27;;;;;;;1778:12;;;;;:37;;1816:23;;1778:12;;1841:25;;-1:-1:-1;1841:27:18;;;;;;;;;1778:12;1841:27;;;5:2:-1;;;;30:1;27;20:12;5:2;1841:27:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1841:27:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1841:27:18;1778:91;;;;;;;;;;-1:-1:-1;;;;;1778:91:18;;;;;;;;;;;;;;;;;;;;;;;;;1841:27;1778:91;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1778:91:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1778:91:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;1879:12:18;;1917:23;;;;;;;;;;;;;;;;;;;;1942:13;;:28;;;;;;;-1:-1:-1;;;;;1879:12:18;;;;-1:-1:-1;1879:37:18;;-1:-1:-1;1917:23:18;;1942:13;;:26;;:28;;;;;1917:23;1942:28;;;;;:13;:28;;;5:2:-1;;;;30:1;27;20:12;5:2;1942:28:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1942:28:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1942:28:18;1879:92;;;;;;;;;;-1:-1:-1;;;;;1879:92:18;;;;;;;;;;;;;;;;;;;;;;;;;1942:28;1879:92;;;;;;-1:-1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1879:92:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1879:92:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;1879:92:18;;;;1982:37;1999:19;;;;;;;;;;;;;;;;;;1982:16;;;:37;;;:::i;:::-;1039:987;;;;;;;;;82:8227;;517:181:8;603:17;;:88;;;;;;676:4;603:88;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;603:17:8;;;;:24;;641:13;;603:88;;;;;;;;;;;;;;:17;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;603:88:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;603:88:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;603:88:8;;;;517:181;:::o;82:8227:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;82:8227:18;;;-1:-1:-1;82:8227:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;",
  "deployedSourceMap": "82:8227:18:-;;;;;;;;;-1:-1:-1;;;82:8227:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;853:21;;8:9:-1;5:2;;;30:1;27;20:12;5:2;853:21:18;;;;;;;;;;;;;;;;;;;;2914:98;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2914:98:18;;;;;;943:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;943:19:18;;;;2596:160;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2596:160:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2596:160:18;;;3292:497;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3292:497:18;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;3292:497:18;;;;;;;;;;;;;;;;;;;;;;;;;263:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;263:51:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;263:51:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3810:200;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3810:200:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3810:200:18;;;270:25:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;270:25:8;;;;321:58:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;321:58:18;;;;802:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;802:19:18;;;;;;;;;;;;;;;;;;;;;;302:43:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;302:43:8;;;;;;;;-1:-1:-1;;;;;302:43:8;;;;;;;;;;;;;;969:24:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;969:24:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;969:24:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;969:24:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;155:44;;8:9:-1;5:2;;;30:1;27;20:12;5:2;155:44:18;;;;240:24:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;240:24:8;;;;751:44:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;751:44:18;;;;210:24:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;210:24:8;;;;4396:829:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4396:829:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4396:829:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4396:829:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3018:268;;8:9:-1;5:2;;;30:1;27;20:12;5:2;3018:268:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;3018:268:18;;;;;;;;;;;;;206:51;;8:9:-1;5:2;;;30:1;27;20:12;5:2;206:51:18;;;;828:19;;8:9:-1;5:2;;;30:1;27;20:12;5:2;828:19:18;;;;880:23;;8:9:-1;5:2;;;30:1;27;20:12;5:2;880:23:18;;;;351:42:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;351:42:8;;;;145:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;145:26:8;;;;909:27:18;;8:9:-1;5:2;;;30:1;27;20:12;5:2;909:27:18;;;;385:72;;8:9:-1;5:2;;;30:1;27;20:12;5:2;385:72:18;;;;2762:146;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2762:146:18;;;;464:70;;8:9:-1;5:2;;;30:1;27;20:12;5:2;464:70:18;;;;4016:374;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4016:374:18;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4016:374:18;;;;;;;;178:25:8;;8:9:-1;5:2;;;30:1;27;20:12;5:2;178:25:8;;;;853:21:18;;;;:::o;2914:98::-;2108:12;;;;;;;;;-1:-1:-1;;;;;2108:12:18;-1:-1:-1;;;;;2108:25:18;;:27;;;;;-1:-1:-1;;;2108:27:18;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2108:27:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2108:27:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2108:27:18;-1:-1:-1;;;;;2086:50:18;:10;:50;2065:145;;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2065:145:18;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;;;;2991:7;:14;;-1:-1:-1;;;;;;2991:14:18;-1:-1:-1;;;2991:14:18;;;2914:98::o;943:19::-;;;;:::o;2596:160::-;2108:12;;;;;;;;;-1:-1:-1;;;;;2108:12:18;-1:-1:-1;;;;;2108:25:18;;:27;;;;;-1:-1:-1;;;2108:27:18;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2108:27:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2108:27:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2108:27:18;-1:-1:-1;;;;;2086:50:18;:10;:50;2065:145;;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2065:145:18;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;;;;2488:7;;-1:-1:-1;;;2488:7:18;;;;:16;2467:88;;;;;-1:-1:-1;;;;;2467:88:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2467:88:18;;;;;;;;;;;;;;;2718:31;2727:4;2733:15;;;;;;;;;;;;;;-1:-1:-1;;;;;2733:15:18;;;2718:8;:31::i;:::-;2596:160;:::o;3292:497::-;2108:12;;;;;;;;;-1:-1:-1;;;;;2108:12:18;-1:-1:-1;;;;;2108:25:18;;:27;;;;;-1:-1:-1;;;2108:27:18;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2108:27:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2108:27:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2108:27:18;-1:-1:-1;;;;;2086:50:18;:10;:50;2065:145;;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2065:145:18;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;;;;3484:12;;;;3476:43;;;;;-1:-1:-1;;;;;3476:43:18;;;;;;;;;;;;-1:-1:-1;;;;;3476:43:18;;;;;;;;;;;;;;;3530:10;3543:12;;;:3;:12;;;;;:31;;3565:8;;3543:31;;;;;;;;;;;;;;3530:44;;3612:5;3585:7;3593:5;3585:14;;;;;;;;;;;;;;;;;;;;;;;:32;3627:7;:14;;3652:3;;3627:7;3635:5;;3627:14;;;;;;;;;;;;;;;;:22;;:28;;;;3688:8;3665:7;3673:5;3665:14;;;;;;;;;;;;;;;;;;;;:20;;;:31;;;;;;;;;;;;;;;;;;3730:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3730:15:18;;;3706:7;3714:5;3706:14;;;;;;;;;;;;;;;;;;;;:21;;:39;;;;;;;;;;;;:::i;:::-;;3756:26;3774:7;3756:17;:26::i;:::-;2221:1;3292:497;;;;;:::o;263:51::-;;;;;;;;;;;;;-1:-1:-1;;;;;263:51:18;;;;;:::o;3810:200::-;3904:10;3935:12;;;:3;:12;;;;;:22;;;;;3934:23;3930:37;;;-1:-1:-1;3966:1:18;3959:8;;3930:37;-1:-1:-1;3985:12:18;;;;:3;:12;;;;;:18;;;3810:200;;;;:::o;270:25:8:-;;;;;;;;;;;;;;;-1:-1:-1;;270:25:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;321:58:18:-;;;;;;;;;;;;;-1:-1:-1;;;;;321:58:18;;;;;:::o;802:19::-;;;-1:-1:-1;;;802:19:18;;;;;:::o;302:43:8:-;;;-1:-1:-1;;;;;302:43:8;;:::o;969:24:18:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;969:24:18;;;;;;;-1:-1:-1;;969:24:18;;;:::o;155:44::-;194:5;155:44;:::o;240:24:8:-;;;;;;;;;;;;;;;-1:-1:-1;;240:24:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;751:44:18;;;-1:-1:-1;;;;;751:44:18;;:::o;210:24:8:-;;;;;;;;;;;;;;-1:-1:-1;;210:24:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4396:829:18;4523:10;4679:12;;;:3;:12;;;;;:22;;;4523:10;;4569:20;;4523:10;;;;4679:22;;4678:23;;:76;;-1:-1:-1;4717:12:18;;;;:3;:12;;;;;:28;:37;-1:-1:-1;4717:37:18;4678:76;4661:160;;;-1:-1:-1;;4779:31:18;;;;;;;;;4787:1;4779:31;;;4787:1;-1:-1:-1;4787:1:18;;-1:-1:-1;4779:31:18;-1:-1:-1;4787:1:18;;4779:31;;4661:160;4831:16;4878:12;;;:3;:12;;;;;:28;-1:-1:-1;;4878:32:18;4870:40;;4866:64;;;-1:-1:-1;4926:4:18;4866:64;4970:12;;;;:3;:12;;;;;:28;;4962:7;;4970:12;4992:5;;4970:28;;;;;;;;;;;;;;4962:37;;;;;;;;;;;;;;;;;;;;;;;;;:47;5031:12;;;:3;:12;;;;;;;:28;;5023:7;;5031:12;5053:5;;5031:28;;;;;;;;;;;;;;5023:37;;;;;;;;;;;;;;;;;;;;:45;;;5082:7;5090:3;:12;5094:7;5090:12;;;;;;;;;;;:21;;5112:5;5090:28;;;;;;;;;;;;;;;;;;5082:37;;;;;;;;;;;;;;;;;;;;:44;;5140:7;5148:3;:12;5152:7;5148:12;;;;;;;;;;;:21;;5170:5;5148:28;;;;;;;;;;;;;;;;;;5140:37;;;;;;;;;;;;;;;;;;;;;;;;;:43;;;4941:277;;;;;;5140:43;;4941:277;;;;-1:-1:-1;;4941:277:18;;;;;;;;;;;;;;;;;;;;;;;;;;5140:43;;;;;5197:11;;4941:277;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4396:829;;;;;;;;;:::o;3018:268::-;2108:12;;;;;;;;;-1:-1:-1;;;;;2108:12:18;-1:-1:-1;;;;;2108:25:18;;:27;;;;;-1:-1:-1;;;2108:27:18;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2108:27:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2108:27:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2108:27:18;-1:-1:-1;;;;;2086:50:18;:10;:50;2065:145;;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2065:145:18;;;;-1:-1:-1;;;;;2065:145:18;;;;;;;;;;;;;;;3158:16;3166:7;3158;:16::i;:::-;3185:43;3196:7;3205:5;3212:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3212:15:18;;;3185:10;:43::i;:::-;3239:40;3249:7;3258:3;3263:15;;;;;;;;;;;;;;-1:-1:-1;;;;;3263:15:18;;;3239:9;:40::i;:::-;3018:268;;;:::o;206:51::-;;;;;;;;;;;;;-1:-1:-1;;;;;206:51:18;;;;;:::o;828:19::-;;;;:::o;880:23::-;;;;:::o;351:42:8:-;;;-1:-1:-1;;;;;351:42:8;;:::o;145:26::-;;;;;;;;;;;;;;;-1:-1:-1;;145:26:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;909:27:18;;;;:::o;385:72::-;;;;;;;;;;;;;;;;;;;:::o;2762:146::-;2309:13;;;;;;;;;-1:-1:-1;;;;;2309:13:18;-1:-1:-1;;;;;2309:26:18;;:28;;;;;-1:-1:-1;;;2309:28:18;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;2309:28:18;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;2309:28:18;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;2309:28:18;-1:-1:-1;;;;;2287:51:18;:10;:51;2266:144;;;;;-1:-1:-1;;;;;2266:144:18;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2266:144:18;;;;;;;;;;;;;;;2488:7;;-1:-1:-1;;;2488:7:18;;;;:16;2467:88;;;;;-1:-1:-1;;;;;2467:88:18;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2467:88:18;;;;;;;;;;;;;;;2859:42;2868:15;2885;;;;;;;;;;;;;;-1:-1:-1;;;;;2885:15:18;;;2859:8;:42::i;:::-;2762:146::o;464:70::-;;;;;;;;;;;;;-1:-1:-1;;;;;464:70:18;;;;;:::o;4016:374::-;4140:10;4181:6;4170:8;:17;4166:31;;;-1:-1:-1;4196:1:18;4189:8;;4166:31;4208:16;4253:8;4239:116;4263:11;;;4239:116;;4299:6;;;;:3;:6;;;;;:16;;;;;4295:49;;;4332:6;;;;:3;:6;;;;;:12;;;4317:27;;;;;4295:49;4276:3;;4239:116;;;-1:-1:-1;4372:11:18;-1:-1:-1;4016:374:18;;;;;:::o;178:25:8:-;;;-1:-1:-1;;;;;178:25:8;;:::o;5248:555:18:-;194:5;5365:22;;5398:14;5365:22;5398:7;:14::i;:::-;5427:11;;:16;5423:265;;5471:11;;5463:5;:19;5459:168;;;5502:41;5523:5;5530:4;5536:6;5502:20;:41::i;:::-;5459:168;;;5582:30;5592:5;5599:4;5605:6;5582:9;:30::i;:::-;-1:-1:-1;5655:1:18;5641:11;:15;5671:7;;5423:265;5698:31;5709:5;5716:4;5722:6;5698:10;:31::i;:::-;5740:11;:19;;;5778:17;;;;;;;;;;;;-1:-1:-1;;;;;5778:17:18;;;;5770:26;;:7;:26::i;5248:555::-;;;:::o;7706:381::-;7792:16;;7819:219;7840:12;;;;:3;:12;;;;;:28;7836:32;;7819:219;;;7978:12;;;;:3;:12;;;;;:24;;7970:7;;7978:12;8000:1;;7978:24;;;;;;;;;;;;;;7970:33;;;;;;;;;;;;;;;;;;;;;;;;;:43;7934:12;;;:3;:12;;;;;;;:24;;7926:7;;7934:12;7956:1;;7934:24;;;;;;;;;;;;;;7926:33;;;;;;;;;;;;;;;;;;;;:41;;;:87;7889:138;;;;7870:3;;;;;;;7819:219;;;-1:-1:-1;8048:12:18;;;;:3;:12;;;;;;:18;;:32;7706:381::o;8093:214::-;8171:10;;;;:3;:10;;;;;:26;:31;8167:134;;;8268:22;;;8218;8268;;;;;;;;-1:-1:-1;8268:22:18;;;;;;;8285:4;8268:22;;;;8255:10;;;:3;:10;;;;;:35;;;;8218:22;;8255:10;;:35;;:10;;:35;;;:::i;:::-;-1:-1:-1;8255:35:18;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8255:35:18;;;;;;;;;;-1:-1:-1;;8093:214:18:o;5809:246::-;5955:35;;;;;;;;;;;-1:-1:-1;5955:35:18;;;;;;;;;;;;;5985:4;5955:35;;;;;;5942:7;27:10:-1;;23:18;;;45:23;;;5942:49:18;;;;;;;;;;;;;;;;;;;;;;;;23:18:-1;;5942:49:18;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;5942:49:18;;;;;;;;;;;;-1:-1:-1;;5942:49:18;;;;;;;;;;-1:-1:-1;;;;6002:12:18;;;:3;:12;;;;;;;6029:7;:14;27:10:-1;;-1:-1;23:18;;45:23;;6002:46:18;;;;;;;-1:-1:-1;;6029:18:18;;;6002:46;;;5809:246::o;6061:665::-;6191:10;6204:12;;;:3;:12;;;;;6226:28;;-1:-1:-1;;6226:32:18;;;6204:55;;;;;;;;;;;;;;6191:68;;6289:7;6297:5;6289:14;;;;;;;;;;;;;;;;;;;;;;;:24;6278:35;;;6270:66;;;;;-1:-1:-1;;;;;6270:66:18;;;;;;;;;;;;-1:-1:-1;;;;;6270:66:18;;;;;;;;;;;;;;;6546:6;6528:26;;;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;6528:26:18;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6528:26:18;;;6518:37;;;;;;6490:7;6498:5;6490:14;;;;;;;;;;;;;;;;;;;;:21;;6472:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;6472:41:18;;;6462:52;;;;;;:93;;6445:164;;;6603:6;6579:7;6587:5;6579:14;;;;;;;;;;;;;;;;;;;;:21;;:30;;;;;;;;;;;;:::i;:::-;;6445:164;6645:7;6620;6628:5;6620:14;;;;;;;;;;;;;;;;;;:22;:14;;;;;:22;:32;6695:7;:14;;6703:5;;6695:14;;;;;;;;;;;;;;;;;;;;;:24;6663:12;;;:3;:12;;;;;:18;;:56;;6685:34;;;;6663:56;;;;;;;-1:-1:-1;;6061:665:18:o;6732:476::-;6897:11;;194:5;6897:27;;;6896:45;;6952:44;;6896:45;6989:6;6952:9;:44::i;:::-;7007:41;7029:5;7036:11;;7007:21;:41::i;:::-;194:5;7080:21;;7112:40;7080:5;:21;7145:6;7112:10;:40::i;:::-;7163:38;7173:5;7180:12;7194:6;7163:9;:38::i;:::-;6732:476;;;;;:::o;704:653:8:-;777:24;;848:503;884:12;;:70;;;-1:-1:-1;;;;;884:70:8;;;;;;;;;;;;;;:12;:70;;;-1:-1:-1;;884:12:8;:70;;;:12;:70;;;;;;;;;;;;-1:-1:-1;;;;;884:12:8;;;;:37;;:12;;936:17;;884:70;;;;;;:12;;:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;884:70:8;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;884:70:8;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;884:70:8;;-1:-1:-1;968:19:8;;-1:-1:-1;;;;;1006:30:8;;;1002:299;;1099:169;;;1241:4;1099:169;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1056:21:8;;;1198:9;;1099:169;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1099:169:8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1099:169:8;;;-1:-1:-1;;26:21;;;22:32;6:49;;1099:169:8;;;49:4:-1;25:18;;61:17;;-1:-1;;;;;182:15;-1:-1;;;;;179:29;160:49;;1056:230:8;;;;1099:169;;-1:-1:-1;1056:230:8;-1:-1:-1;1056:230:8;;-1:-1:-1;25:18;-1:-1;1056:230:8;;25:18:-1;36:153;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;1056:230:8;;;;;;;;;;;;;;;;;;;;;;;;14:1:-1;21;16:31;;;;75:4;69:11;64:16;;144:4;140:9;133:4;115:16;111:27;107:43;104:1;100:51;94:4;87:65;169:16;166:1;159:27;225:16;222:1;215:4;212:1;208:12;193:49;7:242;;16:31;36:4;31:9;;7:242;;1056:230:8;;1002:299;-1:-1:-1;;;;;1319:30:8;;;;848:503;;704:653;;;:::o;7214:486:18:-;7406:1;7396:11;;7382:312;7413:5;7409:1;:9;7382:312;;;7439:10;7447:1;7439:7;:10::i;:::-;7610:15;;;;;;;;;;;;-1:-1:-1;;;;;7610:15:18;;;;194:5;7485:17;;;;7535:31;;;;7581:45;;7485:1;;:17;;7581:10;:45::i;:::-;7641:42;7651:1;7654:11;7667:15;;;;;;;;;;;;;;-1:-1:-1;;;;;7667:15:18;;;7641:9;:42::i;:::-;-1:-1:-1;;7420:3:18;;7382:312;;82:8227;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;82:8227:18;;;-1:-1:-1;82:8227:18;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o",
  "source": "pragma solidity <0.6.0;\n\n/*\nGas to deploy: 2.623.165\n*/\n\nimport \"./Clause.sol\";\n\n\ncontract TimeLogger is Clause(\n    \"timelogger-clause-notifiers\"\n)\n{\n    uint constant public SECONDS_PER_DAY = 86400;\n\n    string constant public SOLIDITY_SOURCE = \"solidity\";\n    string constant public EXTERNAL_SOURCE = \"external\";\n\n    string constant public CLAUSE_EVENT_TYPE = \"timelog.added\";\n    string constant public CREATION_EVENT_TYPE = \"timelogger_clause.created\";\n\n    string constant public VALIDATED_NOTIFIERS_KEY = \"validated-notifiers\";\n\n    struct TimeLog {\n        uint timeStart;\n        uint timeEnd;\n        string source;\n        bool valid;\n    }\n\n    struct Day {\n        uint[] timelogs;\n        uint total;\n        bool existence;\n    }\n\n    SignaturitUserInterface public ownerContract;\n\n    bool public expired;\n\n    uint public endDate;\n    uint public startDate;\n    uint public weeklyHours;\n    uint public lastOpenDay = 0;\n\n    int public duration;\n\n    TimeLog[] public timeLog;\n\n    mapping(uint => Day) private day;\n\n    constructor (\n        address managerContractAddress,\n        address ownerContractAddress,\n        address signatureContractAddress,\n        string memory id,\n        string memory document,\n        uint start,\n        uint end,\n        uint weekHours,\n        int contractDuration\n    )\n        public\n    {\n        contractId = id;\n        documentId = document;\n\n        startDate = start;\n        endDate = end;\n        weeklyHours = weekHours;\n        duration = contractDuration;\n\n        expired = false;\n\n        userContract = SignaturitUserInterface(managerContractAddress);\n        ownerContract = SignaturitUserInterface(ownerContractAddress);\n        signatureContract = NotifierInterface(signatureContractAddress);\n\n        userContract.setAddressArrayAttribute(VALIDATED_NOTIFIERS_KEY, userContract.ownerAddress());\n        userContract.setAddressArrayAttribute(VALIDATED_NOTIFIERS_KEY, ownerContract.ownerAddress());\n\n        _notifySignature(CREATION_EVENT_TYPE);\n    }\n\n    modifier onlyManager() {\n        require(\n            msg.sender == address(userContract.ownerAddress()),\n            \"Only the manager account can perform this action\"\n        );\n\n        _;\n    }\n\n    modifier onlyOwner() {\n        require(\n            msg.sender == address(ownerContract.ownerAddress()),\n            \"Only the owner account can perform this action\"\n        );\n\n        _;\n    }\n\n    modifier notExpired() {\n        require(\n            expired == false,\n            \"This contract has expired\"\n        );\n\n        _;\n    }\n\n    //Externals\n    function externalSourceLog(\n        uint time\n    )\n        external\n        onlyManager\n        notExpired\n    {\n        _logTime(time, EXTERNAL_SOURCE);\n    }\n\n    function soliditySourceLog()\n        external\n        onlyOwner\n        notExpired\n    {\n        _logTime(block.timestamp, SOLIDITY_SOURCE);\n    }\n\n    function expireContract()\n        external\n        onlyManager\n    {\n        expired = true;\n    }\n\n    function createTimeLog(\n        uint thisDay,\n        uint start,\n        uint end\n    )\n        external\n        onlyManager\n    {\n        _setDay(thisDay);\n\n        _createLog(thisDay, start, EXTERNAL_SOURCE);\n\n        _closeLog(thisDay, end, EXTERNAL_SOURCE);\n    }\n\n    function editTimeLog(\n        uint thisDay,\n        uint logIndex,\n        uint start,\n        uint end,\n        bool validity\n    )\n        external\n        onlyManager\n    {\n        require(end >= start, \"Invalid time frame\");\n\n        uint index = day[thisDay].timelogs[logIndex];\n\n        timeLog[index].timeStart = start;\n        timeLog[index].timeEnd = end;\n        timeLog[index].valid = validity;\n        timeLog[index].source = EXTERNAL_SOURCE;\n\n        _recalculateTotal(thisDay);\n    }\n\n    //Getters\n\n    function getDayTime(\n        uint thisDay\n    )\n        external\n        view\n        returns(uint total)\n    {\n        if (!day[thisDay].existence) return 0;\n\n        return day[thisDay].total;\n    }\n\n    function getTotalLoggedTime(\n        uint startDay,\n        uint endDay\n    )\n        external\n        view\n        returns(uint total)\n    {\n        if (startDay > endDay) return 0;\n\n        uint totalAmount = 0;\n\n        for (uint i = startDay; i <= endDay; i++) {\n            if (day[i].existence) totalAmount += day[i].total;\n        }\n\n        return totalAmount;\n    }\n\n    function getTimeLog(\n        uint thisDay,\n        uint index\n    )\n        external\n        view\n        returns(\n            uint start,\n            uint end,\n            string memory source,\n            bool valid,\n            bool more\n        )\n    {\n        if (\n            !day[thisDay].existence ||\n            day[thisDay].timelogs.length <= index\n        ) {\n            return (0, 0, \"\", false, false);\n        }\n\n        bool thereIsMore = false;\n\n        if (index < day[thisDay].timelogs.length - 1) thereIsMore = true;\n\n        return (\n            timeLog[day[thisDay].timelogs[index]].timeStart,\n            timeLog[day[thisDay].timelogs[index]].timeEnd,\n            timeLog[day[thisDay].timelogs[index]].source,\n            timeLog[day[thisDay].timelogs[index]].valid,\n            thereIsMore\n        );\n    }\n\n    //Internals\n\n    function _logTime(\n        uint time,\n        string memory source\n    )\n        internal\n    {\n        uint today = time / SECONDS_PER_DAY;\n\n        _setDay(today);\n\n        if (lastOpenDay != 0) {\n            if (today > lastOpenDay) {\n                _completePendingDays(today, time, source);\n            } else {\n                _closeLog(today, time, source);\n            }\n\n            lastOpenDay = 0;\n\n            return;\n        }\n\n        _createLog(today, time, source);\n\n        lastOpenDay = today;\n\n        _notify(CLAUSE_EVENT_TYPE);\n    }\n\n    function _createLog(\n        uint thisDay,\n        uint startTime,\n        string memory source\n    )\n        internal\n    {\n        timeLog.push(TimeLog(startTime, 0, source, true));\n\n        day[thisDay].timelogs.push(timeLog.length - 1);\n    }\n\n    function _closeLog(\n        uint thisDay,\n        uint endTime,\n        string memory source\n    )\n        internal\n    {\n        uint index = day[thisDay].timelogs[day[thisDay].timelogs.length - 1];\n\n        require(endTime >= timeLog[index].timeStart, \"Invalid time frame\");\n\n        //Assumption: if source coming from input doesnt equal the one saved, prefer the last one\n        if (\n            keccak256(abi.encodePacked((timeLog[index].source))) != keccak256(abi.encodePacked((source)))\n        )\n\n            timeLog[index].source = source;\n\n        timeLog[index].timeEnd = endTime;\n\n        day[thisDay].total += endTime - timeLog[index].timeStart;\n    }\n\n    function _completePendingDays(\n        uint today,\n        uint nowInSeconds,\n        string memory source\n    )\n        internal\n    {\n        uint lastMidnight = (lastOpenDay*SECONDS_PER_DAY)+SECONDS_PER_DAY;\n\n        _closeLog(lastOpenDay, lastMidnight, source);\n\n        _completeDaysInTheGap(today, lastOpenDay);\n\n        uint todayMidnight = today*SECONDS_PER_DAY;\n\n        _createLog(today, todayMidnight, source);\n\n        _closeLog(today, nowInSeconds, source);\n    }\n\n    function _completeDaysInTheGap(\n        uint today,\n        uint lastDay\n    )\n        internal\n    {\n        //fulfill the days in the gap with 24h single log\n        for (uint i = lastDay + 1; i < today; i++) {\n            _setDay(i);\n\n            uint startOfTheDay = i*SECONDS_PER_DAY;\n            uint endOfTheDay = startOfTheDay + SECONDS_PER_DAY;\n\n            _createLog(i, startOfTheDay, SOLIDITY_SOURCE);\n\n            _closeLog(i, endOfTheDay, SOLIDITY_SOURCE);\n        }\n    }\n\n    function _recalculateTotal(\n        uint thisDay\n    )\n        internal\n    {\n        uint totalAmount;\n\n        for (uint i = 0; i < day[thisDay].timelogs.length; i++) {\n            totalAmount += (\n                    timeLog[day[thisDay].timelogs[i]].timeEnd - timeLog[day[thisDay].timelogs[i]].timeStart\n            );\n        }\n\n        day[thisDay].total = totalAmount;\n    }\n\n    function _setDay(\n        uint today\n    )\n        internal\n    {\n        if (day[today].timelogs.length == 0) {\n            uint[] memory tmpArray;\n\n            day[today] = Day(tmpArray, 0, true);\n        }\n    }\n}\n",
  "sourcePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/TimeLogger.sol",
  "ast": {
    "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/TimeLogger.sol",
    "exportedSymbols": {
      "TimeLogger": [
        5694
      ]
    },
    "id": 5695,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4849,
        "literals": [
          "solidity",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:18"
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/Clause.sol",
        "file": "./Clause.sol",
        "id": 4850,
        "nodeType": "ImportDirective",
        "scope": 5695,
        "sourceUnit": 1708,
        "src": "57:22:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": [
              {
                "argumentTypes": null,
                "hexValue": "74696d656c6f676765722d636c617573652d6e6f74696669657273",
                "id": 4852,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "string",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "117:29:18",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_stringliteral_fa90fc167f644237810e25c760daede8ce998a6a3d1edcc9e1ea94b66fdbfb3d",
                  "typeString": "literal_string \"timelogger-clause-notifiers\""
                },
                "value": "timelogger-clause-notifiers"
              }
            ],
            "baseName": {
              "contractScope": null,
              "id": 4851,
              "name": "Clause",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1707,
              "src": "105:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Clause_$1707",
                "typeString": "contract Clause"
              }
            },
            "id": 4853,
            "nodeType": "InheritanceSpecifier",
            "src": "105:43:18"
          }
        ],
        "contractDependencies": [
          1707
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 5694,
        "linearizedBaseContracts": [
          5694,
          1707
        ],
        "name": "TimeLogger",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 4856,
            "name": "SECONDS_PER_DAY",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "155:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4854,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "155:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3836343030",
              "id": 4855,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "194:5:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_86400_by_1",
                "typeString": "int_const 86400"
              },
              "value": "86400"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4859,
            "name": "SOLIDITY_SOURCE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "206:51:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4857,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "206:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "736f6c6964697479",
              "id": 4858,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "247:10:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a477d97b122e6356d32a064f9ee824230d42d04c7d66d8e7d125a091a42b0b25",
                "typeString": "literal_string \"solidity\""
              },
              "value": "solidity"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4862,
            "name": "EXTERNAL_SOURCE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "263:51:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4860,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "263:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "65787465726e616c",
              "id": 4861,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "304:10:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_abee3b73373acd583a130924aad6dc38cfdc44ba0555ba94ce2ff63980ea0632",
                "typeString": "literal_string \"external\""
              },
              "value": "external"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4865,
            "name": "CLAUSE_EVENT_TYPE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "321:58:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4863,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "321:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "74696d656c6f672e6164646564",
              "id": 4864,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "364:15:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_48c0c01ceb3a6df8c49c8f86f60c6aa590f2d31ad89fa7b7e763dd9839820768",
                "typeString": "literal_string \"timelog.added\""
              },
              "value": "timelog.added"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4868,
            "name": "CREATION_EVENT_TYPE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "385:72:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4866,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "385:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "74696d656c6f676765725f636c617573652e63726561746564",
              "id": 4867,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "430:27:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_56c229a2837880df25843d0a92e84866a9b9b9229785161f2a6bcb14b164de6f",
                "typeString": "literal_string \"timelogger_clause.created\""
              },
              "value": "timelogger_clause.created"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4871,
            "name": "VALIDATED_NOTIFIERS_KEY",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "464:70:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4869,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "464:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "76616c6964617465642d6e6f74696669657273",
              "id": 4870,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "513:21:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_d0687944729cecf6c2b04577399c9af282ff4f7920febb6045e3d57f275ed547",
                "typeString": "literal_string \"validated-notifiers\""
              },
              "value": "validated-notifiers"
            },
            "visibility": "public"
          },
          {
            "canonicalName": "TimeLogger.TimeLog",
            "id": 4880,
            "members": [
              {
                "constant": false,
                "id": 4873,
                "name": "timeStart",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "566:14:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4872,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "566:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4875,
                "name": "timeEnd",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "590:12:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4874,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "590:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4877,
                "name": "source",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "612:13:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4876,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "612:6:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4879,
                "name": "valid",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "635:10:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4878,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "635:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "TimeLog",
            "nodeType": "StructDefinition",
            "scope": 5694,
            "src": "541:111:18",
            "visibility": "public"
          },
          {
            "canonicalName": "TimeLogger.Day",
            "id": 4888,
            "members": [
              {
                "constant": false,
                "id": 4883,
                "name": "timelogs",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "679:15:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4881,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "679:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4882,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "679:6:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4885,
                "name": "total",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "704:10:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4884,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "704:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4887,
                "name": "existence",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "724:14:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4886,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "724:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Day",
            "nodeType": "StructDefinition",
            "scope": 5694,
            "src": "658:87:18",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4890,
            "name": "ownerContract",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "751:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
              "typeString": "contract SignaturitUserInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 4889,
              "name": "SignaturitUserInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7251,
              "src": "751:23:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                "typeString": "contract SignaturitUserInterface"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4892,
            "name": "expired",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "802:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 4891,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "802:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4894,
            "name": "endDate",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "828:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4893,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "828:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4896,
            "name": "startDate",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "853:21:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4895,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "853:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4898,
            "name": "weeklyHours",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "880:23:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4897,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "880:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4901,
            "name": "lastOpenDay",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "909:27:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4899,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "909:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4900,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "935:1:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4903,
            "name": "duration",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "943:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_int256",
              "typeString": "int256"
            },
            "typeName": {
              "id": 4902,
              "name": "int",
              "nodeType": "ElementaryTypeName",
              "src": "943:3:18",
              "typeDescriptions": {
                "typeIdentifier": "t_int256",
                "typeString": "int256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4906,
            "name": "timeLog",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "969:24:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
              "typeString": "struct TimeLogger.TimeLog[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 4904,
                "name": "TimeLog",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 4880,
                "src": "969:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TimeLog_$4880_storage_ptr",
                  "typeString": "struct TimeLogger.TimeLog"
                }
              },
              "id": 4905,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "969:9:18",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage_ptr",
                "typeString": "struct TimeLogger.TimeLog[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4910,
            "name": "day",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "1000:32:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
              "typeString": "mapping(uint256 => struct TimeLogger.Day)"
            },
            "typeName": {
              "id": 4909,
              "keyType": {
                "id": 4907,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1008:4:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1000:20:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                "typeString": "mapping(uint256 => struct TimeLogger.Day)"
              },
              "valueType": {
                "contractScope": null,
                "id": 4908,
                "name": "Day",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 4888,
                "src": "1016:3:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Day_$4888_storage_ptr",
                  "typeString": "struct TimeLogger.Day"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 4999,
              "nodeType": "Block",
              "src": "1347:679:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4933,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4931,
                      "name": "contractId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1622,
                      "src": "1357:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4932,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4918,
                      "src": "1370:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "1357:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4934,
                  "nodeType": "ExpressionStatement",
                  "src": "1357:15:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4937,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4935,
                      "name": "documentId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1624,
                      "src": "1382:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4936,
                      "name": "document",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4920,
                      "src": "1395:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "1382:21:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4938,
                  "nodeType": "ExpressionStatement",
                  "src": "1382:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4941,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4939,
                      "name": "startDate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4896,
                      "src": "1414:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4940,
                      "name": "start",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4922,
                      "src": "1426:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1414:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4942,
                  "nodeType": "ExpressionStatement",
                  "src": "1414:17:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4945,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4943,
                      "name": "endDate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4894,
                      "src": "1441:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4944,
                      "name": "end",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4924,
                      "src": "1451:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1441:13:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4946,
                  "nodeType": "ExpressionStatement",
                  "src": "1441:13:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4949,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4947,
                      "name": "weeklyHours",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4898,
                      "src": "1464:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4948,
                      "name": "weekHours",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4926,
                      "src": "1478:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1464:23:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4950,
                  "nodeType": "ExpressionStatement",
                  "src": "1464:23:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4953,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4951,
                      "name": "duration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4903,
                      "src": "1497:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4952,
                      "name": "contractDuration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4928,
                      "src": "1508:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "src": "1497:27:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "id": 4954,
                  "nodeType": "ExpressionStatement",
                  "src": "1497:27:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4957,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4955,
                      "name": "expired",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4892,
                      "src": "1535:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 4956,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1545:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "1535:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4958,
                  "nodeType": "ExpressionStatement",
                  "src": "1535:15:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4963,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4959,
                      "name": "userContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1628,
                      "src": "1561:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4961,
                          "name": "managerContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4912,
                          "src": "1600:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4960,
                        "name": "SignaturitUserInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7251,
                        "src": "1576:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_SignaturitUserInterface_$7251_$",
                          "typeString": "type(contract SignaturitUserInterface)"
                        }
                      },
                      "id": 4962,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1576:47:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "src": "1561:62:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                      "typeString": "contract SignaturitUserInterface"
                    }
                  },
                  "id": 4964,
                  "nodeType": "ExpressionStatement",
                  "src": "1561:62:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4965,
                      "name": "ownerContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4890,
                      "src": "1633:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4967,
                          "name": "ownerContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4914,
                          "src": "1673:20:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4966,
                        "name": "SignaturitUserInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7251,
                        "src": "1649:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_SignaturitUserInterface_$7251_$",
                          "typeString": "type(contract SignaturitUserInterface)"
                        }
                      },
                      "id": 4968,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1649:45:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "src": "1633:61:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                      "typeString": "contract SignaturitUserInterface"
                    }
                  },
                  "id": 4970,
                  "nodeType": "ExpressionStatement",
                  "src": "1633:61:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4975,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4971,
                      "name": "signatureContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1630,
                      "src": "1704:17:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                        "typeString": "contract NotifierInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4973,
                          "name": "signatureContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4916,
                          "src": "1742:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4972,
                        "name": "NotifierInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6927,
                        "src": "1724:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_NotifierInterface_$6927_$",
                          "typeString": "type(contract NotifierInterface)"
                        }
                      },
                      "id": 4974,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1724:43:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                        "typeString": "contract NotifierInterface"
                      }
                    },
                    "src": "1704:63:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                      "typeString": "contract NotifierInterface"
                    }
                  },
                  "id": 4976,
                  "nodeType": "ExpressionStatement",
                  "src": "1704:63:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4980,
                        "name": "VALIDATED_NOTIFIERS_KEY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4871,
                        "src": "1816:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4981,
                            "name": "userContract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1628,
                            "src": "1841:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                              "typeString": "contract SignaturitUserInterface"
                            }
                          },
                          "id": 4982,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ownerAddress",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7094,
                          "src": "1841:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                            "typeString": "function () view external returns (address)"
                          }
                        },
                        "id": 4983,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1841:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4977,
                        "name": "userContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1628,
                        "src": "1778:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                          "typeString": "contract SignaturitUserInterface"
                        }
                      },
                      "id": 4979,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setAddressArrayAttribute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7211,
                      "src": "1778:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address) external"
                      }
                    },
                    "id": 4984,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1778:91:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4985,
                  "nodeType": "ExpressionStatement",
                  "src": "1778:91:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4989,
                        "name": "VALIDATED_NOTIFIERS_KEY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4871,
                        "src": "1917:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4990,
                            "name": "ownerContract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4890,
                            "src": "1942:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                              "typeString": "contract SignaturitUserInterface"
                            }
                          },
                          "id": 4991,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ownerAddress",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7094,
                          "src": "1942:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                            "typeString": "function () view external returns (address)"
                          }
                        },
                        "id": 4992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1942:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4986,
                        "name": "userContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1628,
                        "src": "1879:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                          "typeString": "contract SignaturitUserInterface"
                        }
                      },
                      "id": 4988,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setAddressArrayAttribute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7211,
                      "src": "1879:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address) external"
                      }
                    },
                    "id": 4993,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1879:92:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4994,
                  "nodeType": "ExpressionStatement",
                  "src": "1879:92:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4996,
                        "name": "CREATION_EVENT_TYPE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4868,
                        "src": "1999:19:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 4995,
                      "name": "_notifySignature",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1655,
                      "src": "1982:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 4997,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1982:37:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4998,
                  "nodeType": "ExpressionStatement",
                  "src": "1982:37:18"
                }
              ]
            },
            "documentation": null,
            "id": 5000,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4912,
                  "name": "managerContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1061:30:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4911,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1061:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4914,
                  "name": "ownerContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1101:28:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4913,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1101:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4916,
                  "name": "signatureContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1139:32:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4915,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1139:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4918,
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1181:16:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4917,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1181:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4920,
                  "name": "document",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1207:22:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4919,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1207:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4922,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1239:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4921,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1239:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4924,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1259:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4923,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4926,
                  "name": "weekHours",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1277:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4925,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4928,
                  "name": "contractDuration",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1301:20:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4927,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1301:3:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1051:276:18"
            },
            "returnParameters": {
              "id": 4930,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1347:0:18"
            },
            "scope": 5694,
            "src": "1039:987:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5015,
              "nodeType": "Block",
              "src": "2055:174:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5010,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5003,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7304,
                            "src": "2086:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5004,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2086:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 5006,
                                  "name": "userContract",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1628,
                                  "src": "2108:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                                    "typeString": "contract SignaturitUserInterface"
                                  }
                                },
                                "id": 5007,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ownerAddress",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7094,
                                "src": "2108:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                  "typeString": "function () view external returns (address)"
                                }
                              },
                              "id": 5008,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2108:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5005,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2100:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 5009,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2100:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2086:50:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c7920746865206d616e61676572206163636f756e742063616e20706572666f726d207468697320616374696f6e",
                        "id": 5011,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2150:50:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3fbc7ef661e0bed6379da1a53221646426c4c7fcd75b27d254441131aaecadb6",
                          "typeString": "literal_string \"Only the manager account can perform this action\""
                        },
                        "value": "Only the manager account can perform this action"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3fbc7ef661e0bed6379da1a53221646426c4c7fcd75b27d254441131aaecadb6",
                          "typeString": "literal_string \"Only the manager account can perform this action\""
                        }
                      ],
                      "id": 5002,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2065:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5012,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2065:145:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5013,
                  "nodeType": "ExpressionStatement",
                  "src": "2065:145:18"
                },
                {
                  "id": 5014,
                  "nodeType": "PlaceholderStatement",
                  "src": "2221:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5016,
            "name": "onlyManager",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5001,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2052:2:18"
            },
            "src": "2032:197:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5031,
              "nodeType": "Block",
              "src": "2256:173:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5026,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5019,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7304,
                            "src": "2287:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5020,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2287:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 5022,
                                  "name": "ownerContract",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4890,
                                  "src": "2309:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                                    "typeString": "contract SignaturitUserInterface"
                                  }
                                },
                                "id": 5023,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ownerAddress",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7094,
                                "src": "2309:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                  "typeString": "function () view external returns (address)"
                                }
                              },
                              "id": 5024,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2309:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5021,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2301:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 5025,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2301:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2287:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c7920746865206f776e6572206163636f756e742063616e20706572666f726d207468697320616374696f6e",
                        "id": 5027,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2352:48:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0dda88dcc370e8766c18dad64e72cd0856ea516c4f5ad36f04f56bfa5e28ea0d",
                          "typeString": "literal_string \"Only the owner account can perform this action\""
                        },
                        "value": "Only the owner account can perform this action"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0dda88dcc370e8766c18dad64e72cd0856ea516c4f5ad36f04f56bfa5e28ea0d",
                          "typeString": "literal_string \"Only the owner account can perform this action\""
                        }
                      ],
                      "id": 5018,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2266:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5028,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2266:144:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5029,
                  "nodeType": "ExpressionStatement",
                  "src": "2266:144:18"
                },
                {
                  "id": 5030,
                  "nodeType": "PlaceholderStatement",
                  "src": "2421:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5032,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5017,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2253:2:18"
            },
            "src": "2235:194:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5042,
              "nodeType": "Block",
              "src": "2457:117:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 5037,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5035,
                          "name": "expired",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4892,
                          "src": "2488:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 5036,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2499:5:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "src": "2488:16:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5468697320636f6e7472616374206861732065787069726564",
                        "id": 5038,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2518:27:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_899c1e6a73c66c3ee881b6e6d9cf75b6abc288e1b831c1ad5deb92de72a5cb5a",
                          "typeString": "literal_string \"This contract has expired\""
                        },
                        "value": "This contract has expired"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_899c1e6a73c66c3ee881b6e6d9cf75b6abc288e1b831c1ad5deb92de72a5cb5a",
                          "typeString": "literal_string \"This contract has expired\""
                        }
                      ],
                      "id": 5034,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2467:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5039,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2467:88:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5040,
                  "nodeType": "ExpressionStatement",
                  "src": "2467:88:18"
                },
                {
                  "id": 5041,
                  "nodeType": "PlaceholderStatement",
                  "src": "2566:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5043,
            "name": "notExpired",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5033,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2454:2:18"
            },
            "src": "2435:139:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5057,
              "nodeType": "Block",
              "src": "2708:48:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5053,
                        "name": "time",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5045,
                        "src": "2727:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5054,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "2733:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5052,
                      "name": "_logTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5398,
                      "src": "2718:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 5055,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2718:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5056,
                  "nodeType": "ExpressionStatement",
                  "src": "2718:31:18"
                }
              ]
            },
            "documentation": null,
            "id": 5058,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5048,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5047,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "2673:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2673:11:18"
              },
              {
                "arguments": null,
                "id": 5050,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5049,
                  "name": "notExpired",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5043,
                  "src": "2693:10:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2693:10:18"
              }
            ],
            "name": "externalSourceLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5045,
                  "name": "time",
                  "nodeType": "VariableDeclaration",
                  "scope": 5058,
                  "src": "2632:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5044,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2632:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2622:25:18"
            },
            "returnParameters": {
              "id": 5051,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2708:0:18"
            },
            "scope": 5694,
            "src": "2596:160:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5071,
              "nodeType": "Block",
              "src": "2849:59:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 5066,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7294,
                          "src": "2868:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 5067,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2868:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5068,
                        "name": "SOLIDITY_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4859,
                        "src": "2885:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5065,
                      "name": "_logTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5398,
                      "src": "2859:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 5069,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2859:42:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5070,
                  "nodeType": "ExpressionStatement",
                  "src": "2859:42:18"
                }
              ]
            },
            "documentation": null,
            "id": 5072,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5061,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5060,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5032,
                  "src": "2816:9:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2816:9:18"
              },
              {
                "arguments": null,
                "id": 5063,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5062,
                  "name": "notExpired",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5043,
                  "src": "2834:10:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2834:10:18"
              }
            ],
            "name": "soliditySourceLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5059,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2788:2:18"
            },
            "returnParameters": {
              "id": 5064,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2849:0:18"
            },
            "scope": 5694,
            "src": "2762:146:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5081,
              "nodeType": "Block",
              "src": "2981:31:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5079,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5077,
                      "name": "expired",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4892,
                      "src": "2991:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 5078,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3001:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "2991:14:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5080,
                  "nodeType": "ExpressionStatement",
                  "src": "2991:14:18"
                }
              ]
            },
            "documentation": null,
            "id": 5082,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5075,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5074,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "2965:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2965:11:18"
              }
            ],
            "name": "expireContract",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5073,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2937:2:18"
            },
            "returnParameters": {
              "id": 5076,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2981:0:18"
            },
            "scope": 5694,
            "src": "2914:98:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5109,
              "nodeType": "Block",
              "src": "3148:138:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5094,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3166:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5093,
                      "name": "_setDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5693,
                      "src": "3158:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5095,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3158:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5096,
                  "nodeType": "ExpressionStatement",
                  "src": "3158:16:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5098,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3196:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5099,
                        "name": "start",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5086,
                        "src": "3205:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5100,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "3212:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5097,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "3185:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3185:43:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5102,
                  "nodeType": "ExpressionStatement",
                  "src": "3185:43:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5104,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3249:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5105,
                        "name": "end",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5088,
                        "src": "3258:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5106,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "3263:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5103,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "3239:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3239:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5108,
                  "nodeType": "ExpressionStatement",
                  "src": "3239:40:18"
                }
              ]
            },
            "documentation": null,
            "id": 5110,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5091,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5090,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "3132:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3132:11:18"
              }
            ],
            "name": "createTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5084,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3050:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5083,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3050:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5086,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3072:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5085,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3072:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5088,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3092:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5087,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3092:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3040:66:18"
            },
            "returnParameters": {
              "id": 5092,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3148:0:18"
            },
            "scope": 5694,
            "src": "3018:268:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5173,
              "nodeType": "Block",
              "src": "3466:323:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5128,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5126,
                          "name": "end",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5118,
                          "src": "3484:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 5127,
                          "name": "start",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5116,
                          "src": "3491:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3484:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642074696d65206672616d65",
                        "id": 5129,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3498:20:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        },
                        "value": "Invalid time frame"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        }
                      ],
                      "id": 5125,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "3476:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5130,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3476:43:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5131,
                  "nodeType": "ExpressionStatement",
                  "src": "3476:43:18"
                },
                {
                  "assignments": [
                    5133
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5133,
                      "name": "index",
                      "nodeType": "VariableDeclaration",
                      "scope": 5173,
                      "src": "3530:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5132,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3530:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5140,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5134,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "3543:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5136,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5135,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5112,
                          "src": "3547:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3543:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5137,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timelogs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4883,
                      "src": "3543:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 5139,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 5138,
                      "name": "logIndex",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5114,
                      "src": "3565:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3543:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3530:44:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5141,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3585:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5143,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5142,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3593:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3585:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5144,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeStart",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4873,
                      "src": "3585:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5145,
                      "name": "start",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5116,
                      "src": "3612:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3585:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5147,
                  "nodeType": "ExpressionStatement",
                  "src": "3585:32:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5148,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3627:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5150,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5149,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3635:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3627:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5151,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeEnd",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4875,
                      "src": "3627:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5152,
                      "name": "end",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5118,
                      "src": "3652:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3627:28:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5154,
                  "nodeType": "ExpressionStatement",
                  "src": "3627:28:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5155,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3665:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5157,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5156,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3673:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3665:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5158,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "valid",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4879,
                      "src": "3665:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5159,
                      "name": "validity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5120,
                      "src": "3688:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "3665:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5161,
                  "nodeType": "ExpressionStatement",
                  "src": "3665:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5162,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3706:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5164,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5163,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3714:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3706:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5165,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "source",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4877,
                      "src": "3706:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5166,
                      "name": "EXTERNAL_SOURCE",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4862,
                      "src": "3730:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory",
                        "typeString": "string memory"
                      }
                    },
                    "src": "3706:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 5168,
                  "nodeType": "ExpressionStatement",
                  "src": "3706:39:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5170,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5112,
                        "src": "3774:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5169,
                      "name": "_recalculateTotal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5663,
                      "src": "3756:17:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5171,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3756:26:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5172,
                  "nodeType": "ExpressionStatement",
                  "src": "3756:26:18"
                }
              ]
            },
            "documentation": null,
            "id": 5174,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5123,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5122,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "3450:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3450:11:18"
              }
            ],
            "name": "editTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5121,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5112,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3322:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5111,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3322:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5114,
                  "name": "logIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3344:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5113,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3344:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5116,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3367:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5115,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3367:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5118,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3387:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5117,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3387:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5120,
                  "name": "validity",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3405:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5119,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3405:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3312:112:18"
            },
            "returnParameters": {
              "id": 5124,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3466:0:18"
            },
            "scope": 5694,
            "src": "3292:497:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5194,
              "nodeType": "Block",
              "src": "3920:90:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 5185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "3934:23:18",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5181,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "3935:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5183,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5182,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5176,
                          "src": "3939:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3935:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5184,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "existence",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4887,
                      "src": "3935:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5188,
                  "nodeType": "IfStatement",
                  "src": "3930:37:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5186,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3966:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "functionReturnParameters": 5180,
                    "id": 5187,
                    "nodeType": "Return",
                    "src": "3959:8:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 5189,
                        "name": "day",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4910,
                        "src": "3985:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                          "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                        }
                      },
                      "id": 5191,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 5190,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5176,
                        "src": "3989:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3985:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Day_$4888_storage",
                        "typeString": "struct TimeLogger.Day storage ref"
                      }
                    },
                    "id": 5192,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "total",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 4885,
                    "src": "3985:18:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 5180,
                  "id": 5193,
                  "nodeType": "Return",
                  "src": "3978:25:18"
                }
              ]
            },
            "documentation": null,
            "id": 5195,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getDayTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5177,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5176,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5195,
                  "src": "3839:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5175,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3839:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3829:28:18"
            },
            "returnParameters": {
              "id": 5180,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5179,
                  "name": "total",
                  "nodeType": "VariableDeclaration",
                  "scope": 5195,
                  "src": "3904:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5178,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3904:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3903:12:18"
            },
            "scope": 5694,
            "src": "3810:200:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5240,
              "nodeType": "Block",
              "src": "4156:234:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5206,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5204,
                      "name": "startDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5197,
                      "src": "4170:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5205,
                      "name": "endDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "4181:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4170:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5209,
                  "nodeType": "IfStatement",
                  "src": "4166:31:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5207,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4196:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "functionReturnParameters": 5203,
                    "id": 5208,
                    "nodeType": "Return",
                    "src": "4189:8:18"
                  }
                },
                {
                  "assignments": [
                    5211
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5211,
                      "name": "totalAmount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5240,
                      "src": "4208:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5210,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4208:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5213,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 5212,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4227:1:18",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4208:20:18"
                },
                {
                  "body": {
                    "id": 5236,
                    "nodeType": "Block",
                    "src": "4281:74:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5224,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4299:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5226,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5225,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5215,
                              "src": "4303:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4299:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5227,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "existence",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4887,
                          "src": "4299:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 5235,
                        "nodeType": "IfStatement",
                        "src": "4295:49:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 5233,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "id": 5228,
                              "name": "totalAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5211,
                              "src": "4317:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "+=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5229,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "4332:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5231,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5230,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5215,
                                  "src": "4336:1:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4332:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5232,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "total",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4885,
                              "src": "4332:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "4317:27:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 5234,
                          "nodeType": "ExpressionStatement",
                          "src": "4317:27:18"
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5218,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5215,
                      "src": "4263:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5219,
                      "name": "endDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "4268:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4263:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5237,
                  "initializationExpression": {
                    "assignments": [
                      5215
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5215,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5237,
                        "src": "4244:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5214,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "4244:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5217,
                    "initialValue": {
                      "argumentTypes": null,
                      "id": 5216,
                      "name": "startDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5197,
                      "src": "4253:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "4244:17:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5222,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "4276:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5221,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5215,
                        "src": "4276:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5223,
                    "nodeType": "ExpressionStatement",
                    "src": "4276:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "4239:116:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5238,
                    "name": "totalAmount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5211,
                    "src": "4372:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 5203,
                  "id": 5239,
                  "nodeType": "Return",
                  "src": "4365:18:18"
                }
              ]
            },
            "documentation": null,
            "id": 5241,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalLoggedTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5200,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5197,
                  "name": "startDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4053:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5196,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4053:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5199,
                  "name": "endDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4076:11:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5198,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4076:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4043:50:18"
            },
            "returnParameters": {
              "id": 5203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5202,
                  "name": "total",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4140:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5201,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4140:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4139:12:18"
            },
            "scope": 5694,
            "src": "4016:374:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5337,
              "nodeType": "Block",
              "src": "4651:574:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 5270,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5262,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "4678:23:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5258,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "4679:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5260,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5259,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5243,
                            "src": "4683:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4679:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5261,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "existence",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4887,
                        "src": "4679:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5269,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5263,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4717:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5265,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5264,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5243,
                              "src": "4721:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4717:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5266,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "4717:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5267,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4717:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<=",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 5268,
                        "name": "index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5245,
                        "src": "4749:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "4717:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "4678:76:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5279,
                  "nodeType": "IfStatement",
                  "src": "4661:160:18",
                  "trueBody": {
                    "id": 5278,
                    "nodeType": "Block",
                    "src": "4765:56:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4787:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5272,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4790:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "",
                              "id": 5273,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4793:2:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                "typeString": "literal_string \"\""
                              },
                              "value": ""
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4797:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5275,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4804:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "id": 5276,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "4786:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_bool_$_t_bool_$",
                            "typeString": "tuple(int_const 0,int_const 0,literal_string \"\",bool,bool)"
                          }
                        },
                        "functionReturnParameters": 5257,
                        "id": 5277,
                        "nodeType": "Return",
                        "src": "4779:31:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    5281
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5281,
                      "name": "thereIsMore",
                      "nodeType": "VariableDeclaration",
                      "scope": 5337,
                      "src": "4831:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 5280,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "4831:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5283,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "66616c7365",
                    "id": 5282,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4850:5:18",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4831:24:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5292,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5284,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5245,
                      "src": "4870:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5285,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4878:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5287,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5286,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5243,
                              "src": "4882:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4878:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5288,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "4878:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5289,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4878:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4909:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "4878:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4870:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5297,
                  "nodeType": "IfStatement",
                  "src": "4866:64:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5295,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 5293,
                        "name": "thereIsMore",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5281,
                        "src": "4912:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 5294,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4926:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "4912:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 5296,
                    "nodeType": "ExpressionStatement",
                    "src": "4912:18:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5298,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "4962:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5305,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5299,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "4970:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5301,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5300,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "4974:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4970:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5302,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "4970:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5304,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5303,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "4992:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4970:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4962:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5306,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeStart",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4873,
                        "src": "4962:47:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5307,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5023:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5314,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5308,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5031:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5310,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5309,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5035:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5031:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5311,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5031:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5313,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5312,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5053:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5031:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5023:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5315,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeEnd",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4875,
                        "src": "5023:45:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5316,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5082:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5323,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5317,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5090:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5319,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5318,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5094:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5090:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5320,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5090:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5322,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5321,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5112:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5090:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5082:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5324,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "source",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4877,
                        "src": "5082:44:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5325,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5140:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5332,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5326,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5148:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5328,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5327,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5152:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5148:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5329,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5148:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5331,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5330,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5170:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5148:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5140:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5333,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "valid",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4879,
                        "src": "5140:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5334,
                        "name": "thereIsMore",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5281,
                        "src": "5197:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 5335,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "4948:270:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bool_$_t_bool_$",
                      "typeString": "tuple(uint256,uint256,string storage ref,bool,bool)"
                    }
                  },
                  "functionReturnParameters": 5257,
                  "id": 5336,
                  "nodeType": "Return",
                  "src": "4941:277:18"
                }
              ]
            },
            "documentation": null,
            "id": 5338,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5243,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4425:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5242,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4425:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5245,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4447:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5244,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4447:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4415:48:18"
            },
            "returnParameters": {
              "id": 5257,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5248,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4523:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5247,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4523:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5250,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4547:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5249,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4547:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5252,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4569:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5251,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4569:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5254,
                  "name": "valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4603:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5253,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4603:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5256,
                  "name": "more",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4627:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5255,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4627:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4509:137:18"
            },
            "scope": 5694,
            "src": "4396:829:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5397,
              "nodeType": "Block",
              "src": "5342:461:18",
              "statements": [
                {
                  "assignments": [
                    5346
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5346,
                      "name": "today",
                      "nodeType": "VariableDeclaration",
                      "scope": 5397,
                      "src": "5352:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5345,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5352:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5350,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5349,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5347,
                      "name": "time",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5340,
                      "src": "5365:4:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5348,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "5372:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5365:22:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5352:35:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5352,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5346,
                        "src": "5406:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5351,
                      "name": "_setDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5693,
                      "src": "5398:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5353,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5398:14:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5354,
                  "nodeType": "ExpressionStatement",
                  "src": "5398:14:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5355,
                      "name": "lastOpenDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4901,
                      "src": "5427:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5442:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5427:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5382,
                  "nodeType": "IfStatement",
                  "src": "5423:265:18",
                  "trueBody": {
                    "id": 5381,
                    "nodeType": "Block",
                    "src": "5445:243:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5360,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5358,
                            "name": "today",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5346,
                            "src": "5463:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5359,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "5471:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5463:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 5374,
                          "nodeType": "Block",
                          "src": "5564:63:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5369,
                                    "name": "today",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5346,
                                    "src": "5592:5:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5370,
                                    "name": "time",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5340,
                                    "src": "5599:4:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5371,
                                    "name": "source",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5342,
                                    "src": "5605:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 5368,
                                  "name": "_closeLog",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5510,
                                  "src": "5582:9:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,uint256,string memory)"
                                  }
                                },
                                "id": 5372,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5582:30:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5373,
                              "nodeType": "ExpressionStatement",
                              "src": "5582:30:18"
                            }
                          ]
                        },
                        "id": 5375,
                        "nodeType": "IfStatement",
                        "src": "5459:168:18",
                        "trueBody": {
                          "id": 5367,
                          "nodeType": "Block",
                          "src": "5484:74:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5362,
                                    "name": "today",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5346,
                                    "src": "5523:5:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5363,
                                    "name": "time",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5340,
                                    "src": "5530:4:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5364,
                                    "name": "source",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5342,
                                    "src": "5536:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 5361,
                                  "name": "_completePendingDays",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5558,
                                  "src": "5502:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,uint256,string memory)"
                                  }
                                },
                                "id": 5365,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5502:41:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5366,
                              "nodeType": "ExpressionStatement",
                              "src": "5502:41:18"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5378,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5376,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "5641:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 5377,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5655:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5641:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5379,
                        "nodeType": "ExpressionStatement",
                        "src": "5641:15:18"
                      },
                      {
                        "expression": null,
                        "functionReturnParameters": 5344,
                        "id": 5380,
                        "nodeType": "Return",
                        "src": "5671:7:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5384,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5346,
                        "src": "5709:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5385,
                        "name": "time",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5340,
                        "src": "5716:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5386,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5342,
                        "src": "5722:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5383,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "5698:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5698:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5388,
                  "nodeType": "ExpressionStatement",
                  "src": "5698:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5391,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5389,
                      "name": "lastOpenDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4901,
                      "src": "5740:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5390,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5346,
                      "src": "5754:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5740:19:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5392,
                  "nodeType": "ExpressionStatement",
                  "src": "5740:19:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5394,
                        "name": "CLAUSE_EVENT_TYPE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4865,
                        "src": "5778:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5393,
                      "name": "_notify",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1706,
                      "src": "5770:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 5395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5770:26:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5396,
                  "nodeType": "ExpressionStatement",
                  "src": "5770:26:18"
                }
              ]
            },
            "documentation": null,
            "id": 5398,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_logTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5343,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5340,
                  "name": "time",
                  "nodeType": "VariableDeclaration",
                  "scope": 5398,
                  "src": "5275:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5339,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5275:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5342,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5398,
                  "src": "5294:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5341,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5294:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5265:55:18"
            },
            "returnParameters": {
              "id": 5344,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5342:0:18"
            },
            "scope": 5694,
            "src": "5248:555:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5429,
              "nodeType": "Block",
              "src": "5932:123:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 5411,
                            "name": "startTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5402,
                            "src": "5963:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 5412,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5974:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          {
                            "argumentTypes": null,
                            "id": 5413,
                            "name": "source",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5404,
                            "src": "5977:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 5414,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5985:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 5410,
                          "name": "TimeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4880,
                          "src": "5955:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_TimeLog_$4880_storage_ptr_$",
                            "typeString": "type(struct TimeLogger.TimeLog storage pointer)"
                          }
                        },
                        "id": 5415,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5955:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_memory",
                          "typeString": "struct TimeLogger.TimeLog memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_memory",
                          "typeString": "struct TimeLogger.TimeLog memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 5407,
                        "name": "timeLog",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4906,
                        "src": "5942:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                        }
                      },
                      "id": 5409,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5942:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_TimeLog_$4880_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct TimeLogger.TimeLog storage ref) returns (uint256)"
                      }
                    },
                    "id": 5416,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5942:49:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5417,
                  "nodeType": "ExpressionStatement",
                  "src": "5942:49:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5426,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5423,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6029:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5424,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6029:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 5425,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6046:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6029:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5418,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "6002:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5420,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5419,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5400,
                            "src": "6006:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6002:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5421,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "6002:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5422,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6002:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 5427,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6002:46:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5428,
                  "nodeType": "ExpressionStatement",
                  "src": "6002:46:18"
                }
              ]
            },
            "documentation": null,
            "id": 5430,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_createLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5405,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5400,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5838:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5399,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5838:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5402,
                  "name": "startTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5860:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5401,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5860:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5404,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5884:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5403,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5884:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5828:82:18"
            },
            "returnParameters": {
              "id": 5406,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5932:0:18"
            },
            "scope": 5694,
            "src": "5809:246:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5509,
              "nodeType": "Block",
              "src": "6181:545:18",
              "statements": [
                {
                  "assignments": [
                    5440
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5440,
                      "name": "index",
                      "nodeType": "VariableDeclaration",
                      "scope": 5509,
                      "src": "6191:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5439,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6191:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5453,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5441,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "6204:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5443,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5442,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5432,
                          "src": "6208:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6204:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5444,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timelogs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4883,
                      "src": "6204:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 5452,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5451,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5445,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "6226:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5447,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5446,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5432,
                              "src": "6230:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6226:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5448,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "6226:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5449,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6226:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5450,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6257:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "6226:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "6204:55:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6191:68:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5460,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5455,
                          "name": "endTime",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5434,
                          "src": "6278:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5456,
                              "name": "timeLog",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4906,
                              "src": "6289:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                              }
                            },
                            "id": 5458,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5457,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5440,
                              "src": "6297:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6289:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref"
                            }
                          },
                          "id": 5459,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeStart",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4873,
                          "src": "6289:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "6278:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642074696d65206672616d65",
                        "id": 5461,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6315:20:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        },
                        "value": "Invalid time frame"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        }
                      ],
                      "id": 5454,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "6270:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5462,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6270:66:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5463,
                  "nodeType": "ExpressionStatement",
                  "src": "6270:66:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 5481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5467,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "6490:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5469,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 5468,
                                      "name": "index",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5440,
                                      "src": "6498:5:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6490:14:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5470,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "source",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4877,
                                  "src": "6490:21:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage",
                                    "typeString": "string storage ref"
                                  }
                                }
                              ],
                              "id": 5471,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "6489:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 5465,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7291,
                              "src": "6472:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 5466,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6472:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 5472,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6472:41:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5464,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7298,
                        "src": "6462:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 5473,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6462:52:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "id": 5477,
                                  "name": "source",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5436,
                                  "src": "6546:6:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "id": 5478,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "6545:8:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 5475,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7291,
                              "src": "6528:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 5476,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6528:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 5479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6528:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5474,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7298,
                        "src": "6518:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 5480,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6518:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6462:93:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5489,
                  "nodeType": "IfStatement",
                  "src": "6445:164:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5487,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5482,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6579:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5484,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5483,
                            "name": "index",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5440,
                            "src": "6587:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6579:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5485,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": true,
                        "memberName": "source",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4877,
                        "src": "6579:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 5486,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5436,
                        "src": "6603:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "src": "6579:30:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "id": 5488,
                    "nodeType": "ExpressionStatement",
                    "src": "6579:30:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5495,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5490,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "6620:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5492,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5491,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5440,
                          "src": "6628:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6620:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5493,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeEnd",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4875,
                      "src": "6620:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5494,
                      "name": "endTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5434,
                      "src": "6645:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6620:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5496,
                  "nodeType": "ExpressionStatement",
                  "src": "6620:32:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5507,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5497,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "6663:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5499,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5498,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5432,
                          "src": "6667:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6663:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5500,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "total",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4885,
                      "src": "6663:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5506,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 5501,
                        "name": "endTime",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5434,
                        "src": "6685:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5502,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6695:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5504,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5503,
                            "name": "index",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5440,
                            "src": "6703:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6695:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5505,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeStart",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4873,
                        "src": "6695:24:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "6685:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6663:56:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5508,
                  "nodeType": "ExpressionStatement",
                  "src": "6663:56:18"
                }
              ]
            },
            "documentation": null,
            "id": 5510,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_closeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5432,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6089:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5431,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6089:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5434,
                  "name": "endTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6111:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5433,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6111:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5436,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6133:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5435,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6133:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6079:80:18"
            },
            "returnParameters": {
              "id": 5438,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6181:0:18"
            },
            "scope": 5694,
            "src": "6061:665:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5557,
              "nodeType": "Block",
              "src": "6866:342:18",
              "statements": [
                {
                  "assignments": [
                    5520
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5520,
                      "name": "lastMidnight",
                      "nodeType": "VariableDeclaration",
                      "scope": 5557,
                      "src": "6876:17:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5519,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6876:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5527,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5521,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "6897:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5522,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "6909:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "6897:27:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 5524,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "6896:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5525,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "6926:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6896:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6876:65:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5529,
                        "name": "lastOpenDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4901,
                        "src": "6962:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5530,
                        "name": "lastMidnight",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5520,
                        "src": "6975:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5531,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "6989:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5528,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "6952:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5532,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6952:44:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5533,
                  "nodeType": "ExpressionStatement",
                  "src": "6952:44:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5535,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7029:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5536,
                        "name": "lastOpenDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4901,
                        "src": "7036:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5534,
                      "name": "_completeDaysInTheGap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5608,
                      "src": "7007:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 5537,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7007:41:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5538,
                  "nodeType": "ExpressionStatement",
                  "src": "7007:41:18"
                },
                {
                  "assignments": [
                    5540
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5540,
                      "name": "todayMidnight",
                      "nodeType": "VariableDeclaration",
                      "scope": 5557,
                      "src": "7059:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5539,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "7059:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5544,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5543,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5541,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5512,
                      "src": "7080:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5542,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "7086:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7080:21:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7059:42:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5546,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7123:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5547,
                        "name": "todayMidnight",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5540,
                        "src": "7130:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5548,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "7145:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5545,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "7112:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7112:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5550,
                  "nodeType": "ExpressionStatement",
                  "src": "7112:40:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5552,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7173:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5553,
                        "name": "nowInSeconds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5514,
                        "src": "7180:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5554,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "7194:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5551,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "7163:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5555,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7163:38:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5556,
                  "nodeType": "ExpressionStatement",
                  "src": "7163:38:18"
                }
              ]
            },
            "documentation": null,
            "id": 5558,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_completePendingDays",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5517,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5512,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6771:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5511,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6771:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5514,
                  "name": "nowInSeconds",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6791:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5513,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6791:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5516,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6818:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6818:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6761:83:18"
            },
            "returnParameters": {
              "id": 5518,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6866:0:18"
            },
            "scope": 5694,
            "src": "6732:476:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5607,
              "nodeType": "Block",
              "src": "7314:386:18",
              "statements": [
                {
                  "body": {
                    "id": 5605,
                    "nodeType": "Block",
                    "src": "7425:269:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5578,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7447:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 5577,
                            "name": "_setDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5693,
                            "src": "7439:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 5579,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7439:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5580,
                        "nodeType": "ExpressionStatement",
                        "src": "7439:10:18"
                      },
                      {
                        "assignments": [
                          5582
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5582,
                            "name": "startOfTheDay",
                            "nodeType": "VariableDeclaration",
                            "scope": 5605,
                            "src": "7464:18:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 5581,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "7464:4:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5586,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5583,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5566,
                            "src": "7485:1:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5584,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "7487:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7485:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7464:38:18"
                      },
                      {
                        "assignments": [
                          5588
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5588,
                            "name": "endOfTheDay",
                            "nodeType": "VariableDeclaration",
                            "scope": 5605,
                            "src": "7516:16:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 5587,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "7516:4:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5592,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5591,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5589,
                            "name": "startOfTheDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "7535:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5590,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "7551:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7535:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7516:50:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5594,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7592:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5595,
                              "name": "startOfTheDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5582,
                              "src": "7595:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5596,
                              "name": "SOLIDITY_SOURCE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4859,
                              "src": "7610:15:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 5593,
                            "name": "_createLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5430,
                            "src": "7581:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,string memory)"
                            }
                          },
                          "id": 5597,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7581:45:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5598,
                        "nodeType": "ExpressionStatement",
                        "src": "7581:45:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5600,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7651:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5601,
                              "name": "endOfTheDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5588,
                              "src": "7654:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5602,
                              "name": "SOLIDITY_SOURCE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4859,
                              "src": "7667:15:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 5599,
                            "name": "_closeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5510,
                            "src": "7641:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,string memory)"
                            }
                          },
                          "id": 5603,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7641:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5604,
                        "nodeType": "ExpressionStatement",
                        "src": "7641:42:18"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5573,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5571,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5566,
                      "src": "7409:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5572,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5560,
                      "src": "7413:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7409:9:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5606,
                  "initializationExpression": {
                    "assignments": [
                      5566
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5566,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5606,
                        "src": "7387:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5565,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7387:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5570,
                    "initialValue": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5569,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 5567,
                        "name": "lastDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5562,
                        "src": "7396:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5568,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7406:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "7396:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7387:20:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5575,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "7420:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5574,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5566,
                        "src": "7420:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5576,
                    "nodeType": "ExpressionStatement",
                    "src": "7420:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "7382:312:18"
                }
              ]
            },
            "documentation": null,
            "id": 5608,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_completeDaysInTheGap",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5560,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5608,
                  "src": "7254:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5559,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7254:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5562,
                  "name": "lastDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5608,
                  "src": "7274:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5561,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7274:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7244:48:18"
            },
            "returnParameters": {
              "id": 5564,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7314:0:18"
            },
            "scope": 5694,
            "src": "7214:486:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5662,
              "nodeType": "Block",
              "src": "7782:305:18",
              "statements": [
                {
                  "assignments": [
                    5614
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5614,
                      "name": "totalAmount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5662,
                      "src": "7792:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5613,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "7792:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5615,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7792:16:18"
                },
                {
                  "body": {
                    "id": 5653,
                    "nodeType": "Block",
                    "src": "7875:163:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5630,
                            "name": "totalAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5614,
                            "src": "7889:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 5649,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5631,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "7926:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5638,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 5632,
                                            "name": "day",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4910,
                                            "src": "7934:3:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                            }
                                          },
                                          "id": 5634,
                                          "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 5633,
                                            "name": "thisDay",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5610,
                                            "src": "7938:7:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "7934:12:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                                            "typeString": "struct TimeLogger.Day storage ref"
                                          }
                                        },
                                        "id": 5635,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "timelogs",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 4883,
                                        "src": "7934:21:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                          "typeString": "uint256[] storage ref"
                                        }
                                      },
                                      "id": 5637,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 5636,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5617,
                                        "src": "7956:1:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "7934:24:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "7926:33:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5639,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timeEnd",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4875,
                                  "src": "7926:41:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5640,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "7970:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5647,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 5641,
                                            "name": "day",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4910,
                                            "src": "7978:3:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                            }
                                          },
                                          "id": 5643,
                                          "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 5642,
                                            "name": "thisDay",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5610,
                                            "src": "7982:7:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "7978:12:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                                            "typeString": "struct TimeLogger.Day storage ref"
                                          }
                                        },
                                        "id": 5644,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "timelogs",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 4883,
                                        "src": "7978:21:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                          "typeString": "uint256[] storage ref"
                                        }
                                      },
                                      "id": 5646,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 5645,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5617,
                                        "src": "8000:1:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "7978:24:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "7970:33:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5648,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timeStart",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4873,
                                  "src": "7970:43:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "7926:87:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 5650,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "7904:123:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7889:138:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5652,
                        "nodeType": "ExpressionStatement",
                        "src": "7889:138:18"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5626,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5620,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5617,
                      "src": "7836:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5621,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "7840:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5623,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5622,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5610,
                            "src": "7844:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7840:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5624,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "7840:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5625,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7840:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7836:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5654,
                  "initializationExpression": {
                    "assignments": [
                      5617
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5617,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5654,
                        "src": "7824:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5616,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7824:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5619,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5618,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7833:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7824:10:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5628,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "7870:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5627,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5617,
                        "src": "7870:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5629,
                    "nodeType": "ExpressionStatement",
                    "src": "7870:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "7819:219:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5655,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "8048:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5657,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5656,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5610,
                          "src": "8052:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8048:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5658,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "total",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4885,
                      "src": "8048:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5659,
                      "name": "totalAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5614,
                      "src": "8069:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8048:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5661,
                  "nodeType": "ExpressionStatement",
                  "src": "8048:32:18"
                }
              ]
            },
            "documentation": null,
            "id": 5663,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_recalculateTotal",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5610,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5663,
                  "src": "7742:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5609,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7742:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7732:28:18"
            },
            "returnParameters": {
              "id": 5612,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7782:0:18"
            },
            "scope": 5694,
            "src": "7706:381:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5692,
              "nodeType": "Block",
              "src": "8157:150:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5668,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "8171:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5670,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5669,
                            "name": "today",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5665,
                            "src": "8175:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8171:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5671,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "8171:19:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5672,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8171:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8201:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8171:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5691,
                  "nodeType": "IfStatement",
                  "src": "8167:134:18",
                  "trueBody": {
                    "id": 5690,
                    "nodeType": "Block",
                    "src": "8204:97:18",
                    "statements": [
                      {
                        "assignments": [
                          5678
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5678,
                            "name": "tmpArray",
                            "nodeType": "VariableDeclaration",
                            "scope": 5690,
                            "src": "8218:22:18",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 5676,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "8218:4:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 5677,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "8218:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5679,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "8218:22:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5688,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5680,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "8255:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5682,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5681,
                              "name": "today",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5665,
                              "src": "8259:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8255:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 5684,
                                "name": "tmpArray",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5678,
                                "src": "8272:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 5685,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8282:1:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5686,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8285:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 5683,
                              "name": "Day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4888,
                              "src": "8268:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Day_$4888_storage_ptr_$",
                                "typeString": "type(struct TimeLogger.Day storage pointer)"
                              }
                            },
                            "id": 5687,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8268:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_memory",
                              "typeString": "struct TimeLogger.Day memory"
                            }
                          },
                          "src": "8255:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5689,
                        "nodeType": "ExpressionStatement",
                        "src": "8255:35:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 5693,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_setDay",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5665,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5693,
                  "src": "8119:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5664,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8119:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8109:26:18"
            },
            "returnParameters": {
              "id": 5667,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8157:0:18"
            },
            "scope": 5694,
            "src": "8093:214:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 5695,
        "src": "82:8227:18"
      }
    ],
    "src": "0:8310:18"
  },
  "legacyAST": {
    "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/TimeLogger.sol",
    "exportedSymbols": {
      "TimeLogger": [
        5694
      ]
    },
    "id": 5695,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 4849,
        "literals": [
          "solidity",
          "<",
          "0.6",
          ".0"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:23:18"
      },
      {
        "absolutePath": "/home/administrator/workspace/signaturit-solidity-contracts/contracts/Clause.sol",
        "file": "./Clause.sol",
        "id": 4850,
        "nodeType": "ImportDirective",
        "scope": 5695,
        "sourceUnit": 1708,
        "src": "57:22:18",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": [
              {
                "argumentTypes": null,
                "hexValue": "74696d656c6f676765722d636c617573652d6e6f74696669657273",
                "id": 4852,
                "isConstant": false,
                "isLValue": false,
                "isPure": true,
                "kind": "string",
                "lValueRequested": false,
                "nodeType": "Literal",
                "src": "117:29:18",
                "subdenomination": null,
                "typeDescriptions": {
                  "typeIdentifier": "t_stringliteral_fa90fc167f644237810e25c760daede8ce998a6a3d1edcc9e1ea94b66fdbfb3d",
                  "typeString": "literal_string \"timelogger-clause-notifiers\""
                },
                "value": "timelogger-clause-notifiers"
              }
            ],
            "baseName": {
              "contractScope": null,
              "id": 4851,
              "name": "Clause",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 1707,
              "src": "105:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_Clause_$1707",
                "typeString": "contract Clause"
              }
            },
            "id": 4853,
            "nodeType": "InheritanceSpecifier",
            "src": "105:43:18"
          }
        ],
        "contractDependencies": [
          1707
        ],
        "contractKind": "contract",
        "documentation": null,
        "fullyImplemented": true,
        "id": 5694,
        "linearizedBaseContracts": [
          5694,
          1707
        ],
        "name": "TimeLogger",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 4856,
            "name": "SECONDS_PER_DAY",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "155:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4854,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "155:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "3836343030",
              "id": 4855,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "194:5:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_86400_by_1",
                "typeString": "int_const 86400"
              },
              "value": "86400"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4859,
            "name": "SOLIDITY_SOURCE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "206:51:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4857,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "206:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "736f6c6964697479",
              "id": 4858,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "247:10:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_a477d97b122e6356d32a064f9ee824230d42d04c7d66d8e7d125a091a42b0b25",
                "typeString": "literal_string \"solidity\""
              },
              "value": "solidity"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4862,
            "name": "EXTERNAL_SOURCE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "263:51:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4860,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "263:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "65787465726e616c",
              "id": 4861,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "304:10:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_abee3b73373acd583a130924aad6dc38cfdc44ba0555ba94ce2ff63980ea0632",
                "typeString": "literal_string \"external\""
              },
              "value": "external"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4865,
            "name": "CLAUSE_EVENT_TYPE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "321:58:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4863,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "321:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "74696d656c6f672e6164646564",
              "id": 4864,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "364:15:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_48c0c01ceb3a6df8c49c8f86f60c6aa590f2d31ad89fa7b7e763dd9839820768",
                "typeString": "literal_string \"timelog.added\""
              },
              "value": "timelog.added"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4868,
            "name": "CREATION_EVENT_TYPE",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "385:72:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4866,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "385:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "74696d656c6f676765725f636c617573652e63726561746564",
              "id": 4867,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "430:27:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_56c229a2837880df25843d0a92e84866a9b9b9229785161f2a6bcb14b164de6f",
                "typeString": "literal_string \"timelogger_clause.created\""
              },
              "value": "timelogger_clause.created"
            },
            "visibility": "public"
          },
          {
            "constant": true,
            "id": 4871,
            "name": "VALIDATED_NOTIFIERS_KEY",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "464:70:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_string_memory",
              "typeString": "string"
            },
            "typeName": {
              "id": 4869,
              "name": "string",
              "nodeType": "ElementaryTypeName",
              "src": "464:6:18",
              "typeDescriptions": {
                "typeIdentifier": "t_string_storage_ptr",
                "typeString": "string"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "76616c6964617465642d6e6f74696669657273",
              "id": 4870,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "string",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "513:21:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_stringliteral_d0687944729cecf6c2b04577399c9af282ff4f7920febb6045e3d57f275ed547",
                "typeString": "literal_string \"validated-notifiers\""
              },
              "value": "validated-notifiers"
            },
            "visibility": "public"
          },
          {
            "canonicalName": "TimeLogger.TimeLog",
            "id": 4880,
            "members": [
              {
                "constant": false,
                "id": 4873,
                "name": "timeStart",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "566:14:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4872,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "566:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4875,
                "name": "timeEnd",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "590:12:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4874,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "590:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4877,
                "name": "source",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "612:13:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_string_storage_ptr",
                  "typeString": "string"
                },
                "typeName": {
                  "id": 4876,
                  "name": "string",
                  "nodeType": "ElementaryTypeName",
                  "src": "612:6:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_storage_ptr",
                    "typeString": "string"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4879,
                "name": "valid",
                "nodeType": "VariableDeclaration",
                "scope": 4880,
                "src": "635:10:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4878,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "635:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "TimeLog",
            "nodeType": "StructDefinition",
            "scope": 5694,
            "src": "541:111:18",
            "visibility": "public"
          },
          {
            "canonicalName": "TimeLogger.Day",
            "id": 4888,
            "members": [
              {
                "constant": false,
                "id": 4883,
                "name": "timelogs",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "679:15:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                  "typeString": "uint256[]"
                },
                "typeName": {
                  "baseType": {
                    "id": 4881,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "679:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4882,
                  "length": null,
                  "nodeType": "ArrayTypeName",
                  "src": "679:6:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                    "typeString": "uint256[]"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4885,
                "name": "total",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "704:10:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                },
                "typeName": {
                  "id": 4884,
                  "name": "uint",
                  "nodeType": "ElementaryTypeName",
                  "src": "704:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  }
                },
                "value": null,
                "visibility": "internal"
              },
              {
                "constant": false,
                "id": 4887,
                "name": "existence",
                "nodeType": "VariableDeclaration",
                "scope": 4888,
                "src": "724:14:18",
                "stateVariable": false,
                "storageLocation": "default",
                "typeDescriptions": {
                  "typeIdentifier": "t_bool",
                  "typeString": "bool"
                },
                "typeName": {
                  "id": 4886,
                  "name": "bool",
                  "nodeType": "ElementaryTypeName",
                  "src": "724:4:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  }
                },
                "value": null,
                "visibility": "internal"
              }
            ],
            "name": "Day",
            "nodeType": "StructDefinition",
            "scope": 5694,
            "src": "658:87:18",
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4890,
            "name": "ownerContract",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "751:44:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
              "typeString": "contract SignaturitUserInterface"
            },
            "typeName": {
              "contractScope": null,
              "id": 4889,
              "name": "SignaturitUserInterface",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 7251,
              "src": "751:23:18",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                "typeString": "contract SignaturitUserInterface"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4892,
            "name": "expired",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "802:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bool",
              "typeString": "bool"
            },
            "typeName": {
              "id": 4891,
              "name": "bool",
              "nodeType": "ElementaryTypeName",
              "src": "802:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_bool",
                "typeString": "bool"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4894,
            "name": "endDate",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "828:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4893,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "828:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4896,
            "name": "startDate",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "853:21:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4895,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "853:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4898,
            "name": "weeklyHours",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "880:23:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4897,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "880:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4901,
            "name": "lastOpenDay",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "909:27:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_uint256",
              "typeString": "uint256"
            },
            "typeName": {
              "id": 4899,
              "name": "uint",
              "nodeType": "ElementaryTypeName",
              "src": "909:4:18",
              "typeDescriptions": {
                "typeIdentifier": "t_uint256",
                "typeString": "uint256"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30",
              "id": 4900,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "935:1:18",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_0_by_1",
                "typeString": "int_const 0"
              },
              "value": "0"
            },
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4903,
            "name": "duration",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "943:19:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_int256",
              "typeString": "int256"
            },
            "typeName": {
              "id": 4902,
              "name": "int",
              "nodeType": "ElementaryTypeName",
              "src": "943:3:18",
              "typeDescriptions": {
                "typeIdentifier": "t_int256",
                "typeString": "int256"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4906,
            "name": "timeLog",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "969:24:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
              "typeString": "struct TimeLogger.TimeLog[]"
            },
            "typeName": {
              "baseType": {
                "contractScope": null,
                "id": 4904,
                "name": "TimeLog",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 4880,
                "src": "969:7:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_TimeLog_$4880_storage_ptr",
                  "typeString": "struct TimeLogger.TimeLog"
                }
              },
              "id": 4905,
              "length": null,
              "nodeType": "ArrayTypeName",
              "src": "969:9:18",
              "typeDescriptions": {
                "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage_ptr",
                "typeString": "struct TimeLogger.TimeLog[]"
              }
            },
            "value": null,
            "visibility": "public"
          },
          {
            "constant": false,
            "id": 4910,
            "name": "day",
            "nodeType": "VariableDeclaration",
            "scope": 5694,
            "src": "1000:32:18",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
              "typeString": "mapping(uint256 => struct TimeLogger.Day)"
            },
            "typeName": {
              "id": 4909,
              "keyType": {
                "id": 4907,
                "name": "uint",
                "nodeType": "ElementaryTypeName",
                "src": "1008:4:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_uint256",
                  "typeString": "uint256"
                }
              },
              "nodeType": "Mapping",
              "src": "1000:20:18",
              "typeDescriptions": {
                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                "typeString": "mapping(uint256 => struct TimeLogger.Day)"
              },
              "valueType": {
                "contractScope": null,
                "id": 4908,
                "name": "Day",
                "nodeType": "UserDefinedTypeName",
                "referencedDeclaration": 4888,
                "src": "1016:3:18",
                "typeDescriptions": {
                  "typeIdentifier": "t_struct$_Day_$4888_storage_ptr",
                  "typeString": "struct TimeLogger.Day"
                }
              }
            },
            "value": null,
            "visibility": "private"
          },
          {
            "body": {
              "id": 4999,
              "nodeType": "Block",
              "src": "1347:679:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4933,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4931,
                      "name": "contractId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1622,
                      "src": "1357:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4932,
                      "name": "id",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4918,
                      "src": "1370:2:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "1357:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4934,
                  "nodeType": "ExpressionStatement",
                  "src": "1357:15:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4937,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4935,
                      "name": "documentId",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1624,
                      "src": "1382:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4936,
                      "name": "document",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4920,
                      "src": "1395:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory_ptr",
                        "typeString": "string memory"
                      }
                    },
                    "src": "1382:21:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 4938,
                  "nodeType": "ExpressionStatement",
                  "src": "1382:21:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4941,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4939,
                      "name": "startDate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4896,
                      "src": "1414:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4940,
                      "name": "start",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4922,
                      "src": "1426:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1414:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4942,
                  "nodeType": "ExpressionStatement",
                  "src": "1414:17:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4945,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4943,
                      "name": "endDate",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4894,
                      "src": "1441:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4944,
                      "name": "end",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4924,
                      "src": "1451:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1441:13:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4946,
                  "nodeType": "ExpressionStatement",
                  "src": "1441:13:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4949,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4947,
                      "name": "weeklyHours",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4898,
                      "src": "1464:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4948,
                      "name": "weekHours",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4926,
                      "src": "1478:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "1464:23:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 4950,
                  "nodeType": "ExpressionStatement",
                  "src": "1464:23:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4953,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4951,
                      "name": "duration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4903,
                      "src": "1497:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 4952,
                      "name": "contractDuration",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4928,
                      "src": "1508:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_int256",
                        "typeString": "int256"
                      }
                    },
                    "src": "1497:27:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "id": 4954,
                  "nodeType": "ExpressionStatement",
                  "src": "1497:27:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4957,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4955,
                      "name": "expired",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4892,
                      "src": "1535:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "66616c7365",
                      "id": 4956,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "1545:5:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "false"
                    },
                    "src": "1535:15:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 4958,
                  "nodeType": "ExpressionStatement",
                  "src": "1535:15:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4963,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4959,
                      "name": "userContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1628,
                      "src": "1561:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4961,
                          "name": "managerContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4912,
                          "src": "1600:22:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4960,
                        "name": "SignaturitUserInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7251,
                        "src": "1576:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_SignaturitUserInterface_$7251_$",
                          "typeString": "type(contract SignaturitUserInterface)"
                        }
                      },
                      "id": 4962,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1576:47:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "src": "1561:62:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                      "typeString": "contract SignaturitUserInterface"
                    }
                  },
                  "id": 4964,
                  "nodeType": "ExpressionStatement",
                  "src": "1561:62:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4969,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4965,
                      "name": "ownerContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4890,
                      "src": "1633:13:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4967,
                          "name": "ownerContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4914,
                          "src": "1673:20:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4966,
                        "name": "SignaturitUserInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7251,
                        "src": "1649:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_SignaturitUserInterface_$7251_$",
                          "typeString": "type(contract SignaturitUserInterface)"
                        }
                      },
                      "id": 4968,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1649:45:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                        "typeString": "contract SignaturitUserInterface"
                      }
                    },
                    "src": "1633:61:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                      "typeString": "contract SignaturitUserInterface"
                    }
                  },
                  "id": 4970,
                  "nodeType": "ExpressionStatement",
                  "src": "1633:61:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 4975,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 4971,
                      "name": "signatureContract",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1630,
                      "src": "1704:17:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                        "typeString": "contract NotifierInterface"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "id": 4973,
                          "name": "signatureContractAddress",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4916,
                          "src": "1742:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        ],
                        "id": 4972,
                        "name": "NotifierInterface",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 6927,
                        "src": "1724:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_type$_t_contract$_NotifierInterface_$6927_$",
                          "typeString": "type(contract NotifierInterface)"
                        }
                      },
                      "id": 4974,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "typeConversion",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "1724:43:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                        "typeString": "contract NotifierInterface"
                      }
                    },
                    "src": "1704:63:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_contract$_NotifierInterface_$6927",
                      "typeString": "contract NotifierInterface"
                    }
                  },
                  "id": 4976,
                  "nodeType": "ExpressionStatement",
                  "src": "1704:63:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4980,
                        "name": "VALIDATED_NOTIFIERS_KEY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4871,
                        "src": "1816:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4981,
                            "name": "userContract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 1628,
                            "src": "1841:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                              "typeString": "contract SignaturitUserInterface"
                            }
                          },
                          "id": 4982,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ownerAddress",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7094,
                          "src": "1841:25:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                            "typeString": "function () view external returns (address)"
                          }
                        },
                        "id": 4983,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1841:27:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4977,
                        "name": "userContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1628,
                        "src": "1778:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                          "typeString": "contract SignaturitUserInterface"
                        }
                      },
                      "id": 4979,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setAddressArrayAttribute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7211,
                      "src": "1778:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address) external"
                      }
                    },
                    "id": 4984,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1778:91:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4985,
                  "nodeType": "ExpressionStatement",
                  "src": "1778:91:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4989,
                        "name": "VALIDATED_NOTIFIERS_KEY",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4871,
                        "src": "1917:23:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "arguments": [],
                        "expression": {
                          "argumentTypes": [],
                          "expression": {
                            "argumentTypes": null,
                            "id": 4990,
                            "name": "ownerContract",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4890,
                            "src": "1942:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                              "typeString": "contract SignaturitUserInterface"
                            }
                          },
                          "id": 4991,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "ownerAddress",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 7094,
                          "src": "1942:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                            "typeString": "function () view external returns (address)"
                          }
                        },
                        "id": 4992,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "functionCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "1942:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        },
                        {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 4986,
                        "name": "userContract",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 1628,
                        "src": "1879:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                          "typeString": "contract SignaturitUserInterface"
                        }
                      },
                      "id": 4988,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "setAddressArrayAttribute",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 7211,
                      "src": "1879:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_address_$returns$__$",
                        "typeString": "function (string memory,address) external"
                      }
                    },
                    "id": 4993,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1879:92:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4994,
                  "nodeType": "ExpressionStatement",
                  "src": "1879:92:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 4996,
                        "name": "CREATION_EVENT_TYPE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4868,
                        "src": "1999:19:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 4995,
                      "name": "_notifySignature",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1655,
                      "src": "1982:16:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 4997,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "1982:37:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 4998,
                  "nodeType": "ExpressionStatement",
                  "src": "1982:37:18"
                }
              ]
            },
            "documentation": null,
            "id": 5000,
            "implemented": true,
            "kind": "constructor",
            "modifiers": [],
            "name": "",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 4929,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 4912,
                  "name": "managerContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1061:30:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4911,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1061:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4914,
                  "name": "ownerContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1101:28:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4913,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1101:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4916,
                  "name": "signatureContractAddress",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1139:32:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 4915,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1139:7:18",
                    "stateMutability": "nonpayable",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4918,
                  "name": "id",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1181:16:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4917,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1181:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4920,
                  "name": "document",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1207:22:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 4919,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "1207:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4922,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1239:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4921,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1239:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4924,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1259:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4923,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1259:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4926,
                  "name": "weekHours",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1277:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 4925,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "1277:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 4928,
                  "name": "contractDuration",
                  "nodeType": "VariableDeclaration",
                  "scope": 5000,
                  "src": "1301:20:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_int256",
                    "typeString": "int256"
                  },
                  "typeName": {
                    "id": 4927,
                    "name": "int",
                    "nodeType": "ElementaryTypeName",
                    "src": "1301:3:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_int256",
                      "typeString": "int256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1051:276:18"
            },
            "returnParameters": {
              "id": 4930,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "1347:0:18"
            },
            "scope": 5694,
            "src": "1039:987:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": {
              "id": 5015,
              "nodeType": "Block",
              "src": "2055:174:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5010,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5003,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7304,
                            "src": "2086:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5004,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2086:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 5006,
                                  "name": "userContract",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 1628,
                                  "src": "2108:12:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                                    "typeString": "contract SignaturitUserInterface"
                                  }
                                },
                                "id": 5007,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ownerAddress",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7094,
                                "src": "2108:25:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                  "typeString": "function () view external returns (address)"
                                }
                              },
                              "id": 5008,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2108:27:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5005,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2100:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 5009,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2100:36:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2086:50:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c7920746865206d616e61676572206163636f756e742063616e20706572666f726d207468697320616374696f6e",
                        "id": 5011,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2150:50:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_3fbc7ef661e0bed6379da1a53221646426c4c7fcd75b27d254441131aaecadb6",
                          "typeString": "literal_string \"Only the manager account can perform this action\""
                        },
                        "value": "Only the manager account can perform this action"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_3fbc7ef661e0bed6379da1a53221646426c4c7fcd75b27d254441131aaecadb6",
                          "typeString": "literal_string \"Only the manager account can perform this action\""
                        }
                      ],
                      "id": 5002,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2065:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5012,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2065:145:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5013,
                  "nodeType": "ExpressionStatement",
                  "src": "2065:145:18"
                },
                {
                  "id": 5014,
                  "nodeType": "PlaceholderStatement",
                  "src": "2221:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5016,
            "name": "onlyManager",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5001,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2052:2:18"
            },
            "src": "2032:197:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5031,
              "nodeType": "Block",
              "src": "2256:173:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_address",
                          "typeString": "address"
                        },
                        "id": 5026,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5019,
                            "name": "msg",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 7304,
                            "src": "2287:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_magic_message",
                              "typeString": "msg"
                            }
                          },
                          "id": 5020,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "sender",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "2287:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address_payable",
                            "typeString": "address payable"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "arguments": [],
                              "expression": {
                                "argumentTypes": [],
                                "expression": {
                                  "argumentTypes": null,
                                  "id": 5022,
                                  "name": "ownerContract",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4890,
                                  "src": "2309:13:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_contract$_SignaturitUserInterface_$7251",
                                    "typeString": "contract SignaturitUserInterface"
                                  }
                                },
                                "id": 5023,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "memberName": "ownerAddress",
                                "nodeType": "MemberAccess",
                                "referencedDeclaration": 7094,
                                "src": "2309:26:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_function_external_view$__$returns$_t_address_$",
                                  "typeString": "function () view external returns (address)"
                                }
                              },
                              "id": 5024,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": false,
                              "kind": "functionCall",
                              "lValueRequested": false,
                              "names": [],
                              "nodeType": "FunctionCall",
                              "src": "2309:28:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_address",
                                "typeString": "address"
                              }
                            ],
                            "id": 5021,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "nodeType": "ElementaryTypeNameExpression",
                            "src": "2301:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_type$_t_address_$",
                              "typeString": "type(address)"
                            },
                            "typeName": "address"
                          },
                          "id": 5025,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "typeConversion",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "2301:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_address",
                            "typeString": "address"
                          }
                        },
                        "src": "2287:51:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "4f6e6c7920746865206f776e6572206163636f756e742063616e20706572666f726d207468697320616374696f6e",
                        "id": 5027,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2352:48:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_0dda88dcc370e8766c18dad64e72cd0856ea516c4f5ad36f04f56bfa5e28ea0d",
                          "typeString": "literal_string \"Only the owner account can perform this action\""
                        },
                        "value": "Only the owner account can perform this action"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_0dda88dcc370e8766c18dad64e72cd0856ea516c4f5ad36f04f56bfa5e28ea0d",
                          "typeString": "literal_string \"Only the owner account can perform this action\""
                        }
                      ],
                      "id": 5018,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2266:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5028,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2266:144:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5029,
                  "nodeType": "ExpressionStatement",
                  "src": "2266:144:18"
                },
                {
                  "id": 5030,
                  "nodeType": "PlaceholderStatement",
                  "src": "2421:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5032,
            "name": "onlyOwner",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5017,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2253:2:18"
            },
            "src": "2235:194:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5042,
              "nodeType": "Block",
              "src": "2457:117:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "id": 5037,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5035,
                          "name": "expired",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4892,
                          "src": "2488:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "==",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "66616c7365",
                          "id": 5036,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "bool",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "2499:5:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          },
                          "value": "false"
                        },
                        "src": "2488:16:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "5468697320636f6e7472616374206861732065787069726564",
                        "id": 5038,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "2518:27:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_899c1e6a73c66c3ee881b6e6d9cf75b6abc288e1b831c1ad5deb92de72a5cb5a",
                          "typeString": "literal_string \"This contract has expired\""
                        },
                        "value": "This contract has expired"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_899c1e6a73c66c3ee881b6e6d9cf75b6abc288e1b831c1ad5deb92de72a5cb5a",
                          "typeString": "literal_string \"This contract has expired\""
                        }
                      ],
                      "id": 5034,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "2467:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5039,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2467:88:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5040,
                  "nodeType": "ExpressionStatement",
                  "src": "2467:88:18"
                },
                {
                  "id": 5041,
                  "nodeType": "PlaceholderStatement",
                  "src": "2566:1:18"
                }
              ]
            },
            "documentation": null,
            "id": 5043,
            "name": "notExpired",
            "nodeType": "ModifierDefinition",
            "parameters": {
              "id": 5033,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2454:2:18"
            },
            "src": "2435:139:18",
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5057,
              "nodeType": "Block",
              "src": "2708:48:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5053,
                        "name": "time",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5045,
                        "src": "2727:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5054,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "2733:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5052,
                      "name": "_logTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5398,
                      "src": "2718:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 5055,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2718:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5056,
                  "nodeType": "ExpressionStatement",
                  "src": "2718:31:18"
                }
              ]
            },
            "documentation": null,
            "id": 5058,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5048,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5047,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "2673:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2673:11:18"
              },
              {
                "arguments": null,
                "id": 5050,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5049,
                  "name": "notExpired",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5043,
                  "src": "2693:10:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2693:10:18"
              }
            ],
            "name": "externalSourceLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5046,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5045,
                  "name": "time",
                  "nodeType": "VariableDeclaration",
                  "scope": 5058,
                  "src": "2632:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5044,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "2632:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2622:25:18"
            },
            "returnParameters": {
              "id": 5051,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2708:0:18"
            },
            "scope": 5694,
            "src": "2596:160:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5071,
              "nodeType": "Block",
              "src": "2849:59:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "id": 5066,
                          "name": "block",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 7294,
                          "src": "2868:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_magic_block",
                            "typeString": "block"
                          }
                        },
                        "id": 5067,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timestamp",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "2868:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5068,
                        "name": "SOLIDITY_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4859,
                        "src": "2885:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5065,
                      "name": "_logTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5398,
                      "src": "2859:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,string memory)"
                      }
                    },
                    "id": 5069,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "2859:42:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5070,
                  "nodeType": "ExpressionStatement",
                  "src": "2859:42:18"
                }
              ]
            },
            "documentation": null,
            "id": 5072,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5061,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5060,
                  "name": "onlyOwner",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5032,
                  "src": "2816:9:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2816:9:18"
              },
              {
                "arguments": null,
                "id": 5063,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5062,
                  "name": "notExpired",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5043,
                  "src": "2834:10:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2834:10:18"
              }
            ],
            "name": "soliditySourceLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5059,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2788:2:18"
            },
            "returnParameters": {
              "id": 5064,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2849:0:18"
            },
            "scope": 5694,
            "src": "2762:146:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5081,
              "nodeType": "Block",
              "src": "2981:31:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5079,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5077,
                      "name": "expired",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4892,
                      "src": "2991:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "hexValue": "74727565",
                      "id": 5078,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "bool",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3001:4:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "value": "true"
                    },
                    "src": "2991:14:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5080,
                  "nodeType": "ExpressionStatement",
                  "src": "2991:14:18"
                }
              ]
            },
            "documentation": null,
            "id": 5082,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5075,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5074,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "2965:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "2965:11:18"
              }
            ],
            "name": "expireContract",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5073,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2937:2:18"
            },
            "returnParameters": {
              "id": 5076,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2981:0:18"
            },
            "scope": 5694,
            "src": "2914:98:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5109,
              "nodeType": "Block",
              "src": "3148:138:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5094,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3166:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5093,
                      "name": "_setDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5693,
                      "src": "3158:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5095,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3158:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5096,
                  "nodeType": "ExpressionStatement",
                  "src": "3158:16:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5098,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3196:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5099,
                        "name": "start",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5086,
                        "src": "3205:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5100,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "3212:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5097,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "3185:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5101,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3185:43:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5102,
                  "nodeType": "ExpressionStatement",
                  "src": "3185:43:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5104,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5084,
                        "src": "3249:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5105,
                        "name": "end",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5088,
                        "src": "3258:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5106,
                        "name": "EXTERNAL_SOURCE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4862,
                        "src": "3263:15:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5103,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "3239:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5107,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3239:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5108,
                  "nodeType": "ExpressionStatement",
                  "src": "3239:40:18"
                }
              ]
            },
            "documentation": null,
            "id": 5110,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5091,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5090,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "3132:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3132:11:18"
              }
            ],
            "name": "createTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5089,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5084,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3050:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5083,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3050:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5086,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3072:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5085,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3072:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5088,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5110,
                  "src": "3092:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5087,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3092:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3040:66:18"
            },
            "returnParameters": {
              "id": 5092,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3148:0:18"
            },
            "scope": 5694,
            "src": "3018:268:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5173,
              "nodeType": "Block",
              "src": "3466:323:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5128,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5126,
                          "name": "end",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5118,
                          "src": "3484:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "id": 5127,
                          "name": "start",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5116,
                          "src": "3491:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "3484:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642074696d65206672616d65",
                        "id": 5129,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "3498:20:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        },
                        "value": "Invalid time frame"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        }
                      ],
                      "id": 5125,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "3476:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5130,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3476:43:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5131,
                  "nodeType": "ExpressionStatement",
                  "src": "3476:43:18"
                },
                {
                  "assignments": [
                    5133
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5133,
                      "name": "index",
                      "nodeType": "VariableDeclaration",
                      "scope": 5173,
                      "src": "3530:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5132,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "3530:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5140,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5134,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "3543:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5136,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5135,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5112,
                          "src": "3547:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3543:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5137,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timelogs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4883,
                      "src": "3543:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 5139,
                    "indexExpression": {
                      "argumentTypes": null,
                      "id": 5138,
                      "name": "logIndex",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5114,
                      "src": "3565:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "3543:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "3530:44:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5146,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5141,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3585:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5143,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5142,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3593:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3585:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5144,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeStart",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4873,
                      "src": "3585:24:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5145,
                      "name": "start",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5116,
                      "src": "3612:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3585:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5147,
                  "nodeType": "ExpressionStatement",
                  "src": "3585:32:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5153,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5148,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3627:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5150,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5149,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3635:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3627:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5151,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeEnd",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4875,
                      "src": "3627:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5152,
                      "name": "end",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5118,
                      "src": "3652:3:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "3627:28:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5154,
                  "nodeType": "ExpressionStatement",
                  "src": "3627:28:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5160,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5155,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3665:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5157,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5156,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3673:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3665:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5158,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "valid",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4879,
                      "src": "3665:20:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5159,
                      "name": "validity",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5120,
                      "src": "3688:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "3665:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5161,
                  "nodeType": "ExpressionStatement",
                  "src": "3665:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5167,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5162,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "3706:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5164,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5163,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5133,
                          "src": "3714:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3706:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5165,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "source",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4877,
                      "src": "3706:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5166,
                      "name": "EXTERNAL_SOURCE",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4862,
                      "src": "3730:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_memory",
                        "typeString": "string memory"
                      }
                    },
                    "src": "3706:39:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage",
                      "typeString": "string storage ref"
                    }
                  },
                  "id": 5168,
                  "nodeType": "ExpressionStatement",
                  "src": "3706:39:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5170,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5112,
                        "src": "3774:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5169,
                      "name": "_recalculateTotal",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5663,
                      "src": "3756:17:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5171,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "3756:26:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5172,
                  "nodeType": "ExpressionStatement",
                  "src": "3756:26:18"
                }
              ]
            },
            "documentation": null,
            "id": 5174,
            "implemented": true,
            "kind": "function",
            "modifiers": [
              {
                "arguments": null,
                "id": 5123,
                "modifierName": {
                  "argumentTypes": null,
                  "id": 5122,
                  "name": "onlyManager",
                  "nodeType": "Identifier",
                  "overloadedDeclarations": [],
                  "referencedDeclaration": 5016,
                  "src": "3450:11:18",
                  "typeDescriptions": {
                    "typeIdentifier": "t_modifier$__$",
                    "typeString": "modifier ()"
                  }
                },
                "nodeType": "ModifierInvocation",
                "src": "3450:11:18"
              }
            ],
            "name": "editTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5121,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5112,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3322:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5111,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3322:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5114,
                  "name": "logIndex",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3344:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5113,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3344:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5116,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3367:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5115,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3367:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5118,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3387:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5117,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3387:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5120,
                  "name": "validity",
                  "nodeType": "VariableDeclaration",
                  "scope": 5174,
                  "src": "3405:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5119,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "3405:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3312:112:18"
            },
            "returnParameters": {
              "id": 5124,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "3466:0:18"
            },
            "scope": 5694,
            "src": "3292:497:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5194,
              "nodeType": "Block",
              "src": "3920:90:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "id": 5185,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "UnaryOperation",
                    "operator": "!",
                    "prefix": true,
                    "src": "3934:23:18",
                    "subExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5181,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "3935:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5183,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5182,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5176,
                          "src": "3939:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "3935:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5184,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "existence",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4887,
                      "src": "3935:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5188,
                  "nodeType": "IfStatement",
                  "src": "3930:37:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5186,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "3966:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "functionReturnParameters": 5180,
                    "id": 5187,
                    "nodeType": "Return",
                    "src": "3959:8:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "expression": {
                      "argumentTypes": null,
                      "baseExpression": {
                        "argumentTypes": null,
                        "id": 5189,
                        "name": "day",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4910,
                        "src": "3985:3:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                          "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                        }
                      },
                      "id": 5191,
                      "indexExpression": {
                        "argumentTypes": null,
                        "id": 5190,
                        "name": "thisDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5176,
                        "src": "3989:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "IndexAccess",
                      "src": "3985:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_struct$_Day_$4888_storage",
                        "typeString": "struct TimeLogger.Day storage ref"
                      }
                    },
                    "id": 5192,
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "memberName": "total",
                    "nodeType": "MemberAccess",
                    "referencedDeclaration": 4885,
                    "src": "3985:18:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 5180,
                  "id": 5193,
                  "nodeType": "Return",
                  "src": "3978:25:18"
                }
              ]
            },
            "documentation": null,
            "id": 5195,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getDayTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5177,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5176,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5195,
                  "src": "3839:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5175,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3839:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3829:28:18"
            },
            "returnParameters": {
              "id": 5180,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5179,
                  "name": "total",
                  "nodeType": "VariableDeclaration",
                  "scope": 5195,
                  "src": "3904:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5178,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "3904:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "3903:12:18"
            },
            "scope": 5694,
            "src": "3810:200:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5240,
              "nodeType": "Block",
              "src": "4156:234:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5206,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5204,
                      "name": "startDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5197,
                      "src": "4170:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": ">",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5205,
                      "name": "endDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "4181:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4170:17:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5209,
                  "nodeType": "IfStatement",
                  "src": "4166:31:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5207,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "4196:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "functionReturnParameters": 5203,
                    "id": 5208,
                    "nodeType": "Return",
                    "src": "4189:8:18"
                  }
                },
                {
                  "assignments": [
                    5211
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5211,
                      "name": "totalAmount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5240,
                      "src": "4208:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5210,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "4208:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5213,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "30",
                    "id": 5212,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "number",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4227:1:18",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_rational_0_by_1",
                      "typeString": "int_const 0"
                    },
                    "value": "0"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4208:20:18"
                },
                {
                  "body": {
                    "id": 5236,
                    "nodeType": "Block",
                    "src": "4281:74:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5224,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4299:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5226,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5225,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5215,
                              "src": "4303:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4299:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5227,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "existence",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4887,
                          "src": "4299:16:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": null,
                        "id": 5235,
                        "nodeType": "IfStatement",
                        "src": "4295:49:18",
                        "trueBody": {
                          "expression": {
                            "argumentTypes": null,
                            "id": 5233,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "leftHandSide": {
                              "argumentTypes": null,
                              "id": 5228,
                              "name": "totalAmount",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5211,
                              "src": "4317:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "nodeType": "Assignment",
                            "operator": "+=",
                            "rightHandSide": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5229,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "4332:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5231,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5230,
                                  "name": "i",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5215,
                                  "src": "4336:1:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4332:6:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5232,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "total",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4885,
                              "src": "4332:12:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "src": "4317:27:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "id": 5234,
                          "nodeType": "ExpressionStatement",
                          "src": "4317:27:18"
                        }
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5220,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5218,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5215,
                      "src": "4263:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5219,
                      "name": "endDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5199,
                      "src": "4268:6:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4263:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5237,
                  "initializationExpression": {
                    "assignments": [
                      5215
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5215,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5237,
                        "src": "4244:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5214,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "4244:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5217,
                    "initialValue": {
                      "argumentTypes": null,
                      "id": 5216,
                      "name": "startDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5197,
                      "src": "4253:8:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "4244:17:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5222,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "4276:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5221,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5215,
                        "src": "4276:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5223,
                    "nodeType": "ExpressionStatement",
                    "src": "4276:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "4239:116:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5238,
                    "name": "totalAmount",
                    "nodeType": "Identifier",
                    "overloadedDeclarations": [],
                    "referencedDeclaration": 5211,
                    "src": "4372:11:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "functionReturnParameters": 5203,
                  "id": 5239,
                  "nodeType": "Return",
                  "src": "4365:18:18"
                }
              ]
            },
            "documentation": null,
            "id": 5241,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getTotalLoggedTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5200,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5197,
                  "name": "startDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4053:13:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5196,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4053:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5199,
                  "name": "endDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4076:11:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5198,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4076:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4043:50:18"
            },
            "returnParameters": {
              "id": 5203,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5202,
                  "name": "total",
                  "nodeType": "VariableDeclaration",
                  "scope": 5241,
                  "src": "4140:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5201,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4140:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4139:12:18"
            },
            "scope": 5694,
            "src": "4016:374:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5337,
              "nodeType": "Block",
              "src": "4651:574:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "id": 5270,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5262,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "!",
                      "prefix": true,
                      "src": "4678:23:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5258,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "4679:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5260,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5259,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5243,
                            "src": "4683:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4679:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5261,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "existence",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4887,
                        "src": "4679:22:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "||",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5269,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5263,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4717:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5265,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5264,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5243,
                              "src": "4721:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4717:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5266,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "4717:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5267,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4717:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "<=",
                      "rightExpression": {
                        "argumentTypes": null,
                        "id": 5268,
                        "name": "index",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5245,
                        "src": "4749:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "4717:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "src": "4678:76:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5279,
                  "nodeType": "IfStatement",
                  "src": "4661:160:18",
                  "trueBody": {
                    "id": 5278,
                    "nodeType": "Block",
                    "src": "4765:56:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "components": [
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5271,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4787:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "30",
                              "id": 5272,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "number",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4790:1:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_rational_0_by_1",
                                "typeString": "int_const 0"
                              },
                              "value": "0"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "",
                              "id": 5273,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "string",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4793:2:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",
                                "typeString": "literal_string \"\""
                              },
                              "value": ""
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5274,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4797:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            },
                            {
                              "argumentTypes": null,
                              "hexValue": "66616c7365",
                              "id": 5275,
                              "isConstant": false,
                              "isLValue": false,
                              "isPure": true,
                              "kind": "bool",
                              "lValueRequested": false,
                              "nodeType": "Literal",
                              "src": "4804:5:18",
                              "subdenomination": null,
                              "typeDescriptions": {
                                "typeIdentifier": "t_bool",
                                "typeString": "bool"
                              },
                              "value": "false"
                            }
                          ],
                          "id": 5276,
                          "isConstant": false,
                          "isInlineArray": false,
                          "isLValue": false,
                          "isPure": true,
                          "lValueRequested": false,
                          "nodeType": "TupleExpression",
                          "src": "4786:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$_t_rational_0_by_1_$_t_rational_0_by_1_$_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_$_t_bool_$_t_bool_$",
                            "typeString": "tuple(int_const 0,int_const 0,literal_string \"\",bool,bool)"
                          }
                        },
                        "functionReturnParameters": 5257,
                        "id": 5277,
                        "nodeType": "Return",
                        "src": "4779:31:18"
                      }
                    ]
                  }
                },
                {
                  "assignments": [
                    5281
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5281,
                      "name": "thereIsMore",
                      "nodeType": "VariableDeclaration",
                      "scope": 5337,
                      "src": "4831:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      },
                      "typeName": {
                        "id": 5280,
                        "name": "bool",
                        "nodeType": "ElementaryTypeName",
                        "src": "4831:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5283,
                  "initialValue": {
                    "argumentTypes": null,
                    "hexValue": "66616c7365",
                    "id": 5282,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": true,
                    "kind": "bool",
                    "lValueRequested": false,
                    "nodeType": "Literal",
                    "src": "4850:5:18",
                    "subdenomination": null,
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    },
                    "value": "false"
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "4831:24:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5292,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5284,
                      "name": "index",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5245,
                      "src": "4870:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5291,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5285,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "4878:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5287,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5286,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5243,
                              "src": "4882:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4878:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5288,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "4878:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5289,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "4878:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5290,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4909:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "4878:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "4870:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5297,
                  "nodeType": "IfStatement",
                  "src": "4866:64:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5295,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "id": 5293,
                        "name": "thereIsMore",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5281,
                        "src": "4912:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "hexValue": "74727565",
                        "id": 5294,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "bool",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "4926:4:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        "value": "true"
                      },
                      "src": "4912:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bool",
                        "typeString": "bool"
                      }
                    },
                    "id": 5296,
                    "nodeType": "ExpressionStatement",
                    "src": "4912:18:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "components": [
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5298,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "4962:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5305,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5299,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "4970:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5301,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5300,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "4974:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "4970:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5302,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "4970:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5304,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5303,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "4992:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "4970:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "4962:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5306,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeStart",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4873,
                        "src": "4962:47:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5307,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5023:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5314,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5308,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5031:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5310,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5309,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5035:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5031:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5311,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5031:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5313,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5312,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5053:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5031:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5023:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5315,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeEnd",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4875,
                        "src": "5023:45:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5316,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5082:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5323,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5317,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5090:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5319,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5318,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5094:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5090:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5320,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5090:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5322,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5321,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5112:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5090:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5082:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5324,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "source",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4877,
                        "src": "5082:44:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5325,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "5140:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5332,
                          "indexExpression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "expression": {
                                "argumentTypes": null,
                                "baseExpression": {
                                  "argumentTypes": null,
                                  "id": 5326,
                                  "name": "day",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 4910,
                                  "src": "5148:3:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                    "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                  }
                                },
                                "id": 5328,
                                "indexExpression": {
                                  "argumentTypes": null,
                                  "id": 5327,
                                  "name": "thisDay",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5243,
                                  "src": "5152:7:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "isConstant": false,
                                "isLValue": true,
                                "isPure": false,
                                "lValueRequested": false,
                                "nodeType": "IndexAccess",
                                "src": "5148:12:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_struct$_Day_$4888_storage",
                                  "typeString": "struct TimeLogger.Day storage ref"
                                }
                              },
                              "id": 5329,
                              "isConstant": false,
                              "isLValue": true,
                              "isPure": false,
                              "lValueRequested": false,
                              "memberName": "timelogs",
                              "nodeType": "MemberAccess",
                              "referencedDeclaration": 4883,
                              "src": "5148:21:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                "typeString": "uint256[] storage ref"
                              }
                            },
                            "id": 5331,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5330,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5245,
                              "src": "5170:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "5148:28:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "5140:37:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5333,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "valid",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4879,
                        "src": "5140:43:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5334,
                        "name": "thereIsMore",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5281,
                        "src": "5197:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      }
                    ],
                    "id": 5335,
                    "isConstant": false,
                    "isInlineArray": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "TupleExpression",
                    "src": "4948:270:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$_t_uint256_$_t_uint256_$_t_string_storage_$_t_bool_$_t_bool_$",
                      "typeString": "tuple(uint256,uint256,string storage ref,bool,bool)"
                    }
                  },
                  "functionReturnParameters": 5257,
                  "id": 5336,
                  "nodeType": "Return",
                  "src": "4941:277:18"
                }
              ]
            },
            "documentation": null,
            "id": 5338,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "getTimeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5246,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5243,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4425:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5242,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4425:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5245,
                  "name": "index",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4447:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5244,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4447:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4415:48:18"
            },
            "returnParameters": {
              "id": 5257,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5248,
                  "name": "start",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4523:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5247,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4523:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5250,
                  "name": "end",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4547:8:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5249,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "4547:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5252,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4569:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5251,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "4569:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5254,
                  "name": "valid",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4603:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5253,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4603:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5256,
                  "name": "more",
                  "nodeType": "VariableDeclaration",
                  "scope": 5338,
                  "src": "4627:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5255,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "4627:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "4509:137:18"
            },
            "scope": 5694,
            "src": "4396:829:18",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "external"
          },
          {
            "body": {
              "id": 5397,
              "nodeType": "Block",
              "src": "5342:461:18",
              "statements": [
                {
                  "assignments": [
                    5346
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5346,
                      "name": "today",
                      "nodeType": "VariableDeclaration",
                      "scope": 5397,
                      "src": "5352:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5345,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "5352:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5350,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5349,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5347,
                      "name": "time",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5340,
                      "src": "5365:4:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "/",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5348,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "5372:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5365:22:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "5352:35:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5352,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5346,
                        "src": "5406:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5351,
                      "name": "_setDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5693,
                      "src": "5398:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                        "typeString": "function (uint256)"
                      }
                    },
                    "id": 5353,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5398:14:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5354,
                  "nodeType": "ExpressionStatement",
                  "src": "5398:14:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5357,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5355,
                      "name": "lastOpenDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4901,
                      "src": "5427:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5356,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "5442:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "5427:16:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5382,
                  "nodeType": "IfStatement",
                  "src": "5423:265:18",
                  "trueBody": {
                    "id": 5381,
                    "nodeType": "Block",
                    "src": "5445:243:18",
                    "statements": [
                      {
                        "condition": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5360,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5358,
                            "name": "today",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5346,
                            "src": "5463:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": ">",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5359,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "5471:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "5463:19:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bool",
                            "typeString": "bool"
                          }
                        },
                        "falseBody": {
                          "id": 5374,
                          "nodeType": "Block",
                          "src": "5564:63:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5369,
                                    "name": "today",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5346,
                                    "src": "5592:5:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5370,
                                    "name": "time",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5340,
                                    "src": "5599:4:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5371,
                                    "name": "source",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5342,
                                    "src": "5605:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 5368,
                                  "name": "_closeLog",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5510,
                                  "src": "5582:9:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,uint256,string memory)"
                                  }
                                },
                                "id": 5372,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5582:30:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5373,
                              "nodeType": "ExpressionStatement",
                              "src": "5582:30:18"
                            }
                          ]
                        },
                        "id": 5375,
                        "nodeType": "IfStatement",
                        "src": "5459:168:18",
                        "trueBody": {
                          "id": 5367,
                          "nodeType": "Block",
                          "src": "5484:74:18",
                          "statements": [
                            {
                              "expression": {
                                "argumentTypes": null,
                                "arguments": [
                                  {
                                    "argumentTypes": null,
                                    "id": 5362,
                                    "name": "today",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5346,
                                    "src": "5523:5:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5363,
                                    "name": "time",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5340,
                                    "src": "5530:4:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    }
                                  },
                                  {
                                    "argumentTypes": null,
                                    "id": 5364,
                                    "name": "source",
                                    "nodeType": "Identifier",
                                    "overloadedDeclarations": [],
                                    "referencedDeclaration": 5342,
                                    "src": "5536:6:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  }
                                ],
                                "expression": {
                                  "argumentTypes": [
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_uint256",
                                      "typeString": "uint256"
                                    },
                                    {
                                      "typeIdentifier": "t_string_memory_ptr",
                                      "typeString": "string memory"
                                    }
                                  ],
                                  "id": 5361,
                                  "name": "_completePendingDays",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5558,
                                  "src": "5502:20:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                                    "typeString": "function (uint256,uint256,string memory)"
                                  }
                                },
                                "id": 5365,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "kind": "functionCall",
                                "lValueRequested": false,
                                "names": [],
                                "nodeType": "FunctionCall",
                                "src": "5502:41:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_tuple$__$",
                                  "typeString": "tuple()"
                                }
                              },
                              "id": 5366,
                              "nodeType": "ExpressionStatement",
                              "src": "5502:41:18"
                            }
                          ]
                        }
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5378,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5376,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "5641:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 5377,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5655:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          "src": "5641:15:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5379,
                        "nodeType": "ExpressionStatement",
                        "src": "5641:15:18"
                      },
                      {
                        "expression": null,
                        "functionReturnParameters": 5344,
                        "id": 5380,
                        "nodeType": "Return",
                        "src": "5671:7:18"
                      }
                    ]
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5384,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5346,
                        "src": "5709:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5385,
                        "name": "time",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5340,
                        "src": "5716:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5386,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5342,
                        "src": "5722:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5383,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "5698:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5387,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5698:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5388,
                  "nodeType": "ExpressionStatement",
                  "src": "5698:31:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5391,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "id": 5389,
                      "name": "lastOpenDay",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4901,
                      "src": "5740:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5390,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5346,
                      "src": "5754:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "5740:19:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5392,
                  "nodeType": "ExpressionStatement",
                  "src": "5740:19:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5394,
                        "name": "CLAUSE_EVENT_TYPE",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4865,
                        "src": "5778:17:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_string_memory",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5393,
                      "name": "_notify",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 1706,
                      "src": "5770:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (string memory)"
                      }
                    },
                    "id": 5395,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5770:26:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5396,
                  "nodeType": "ExpressionStatement",
                  "src": "5770:26:18"
                }
              ]
            },
            "documentation": null,
            "id": 5398,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_logTime",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5343,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5340,
                  "name": "time",
                  "nodeType": "VariableDeclaration",
                  "scope": 5398,
                  "src": "5275:9:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5339,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5275:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5342,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5398,
                  "src": "5294:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5341,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5294:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5265:55:18"
            },
            "returnParameters": {
              "id": 5344,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5342:0:18"
            },
            "scope": 5694,
            "src": "5248:555:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5429,
              "nodeType": "Block",
              "src": "5932:123:18",
              "statements": [
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "arguments": [
                          {
                            "argumentTypes": null,
                            "id": 5411,
                            "name": "startTime",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5402,
                            "src": "5963:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "30",
                            "id": 5412,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "number",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5974:1:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            "value": "0"
                          },
                          {
                            "argumentTypes": null,
                            "id": 5413,
                            "name": "source",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5404,
                            "src": "5977:6:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            }
                          },
                          {
                            "argumentTypes": null,
                            "hexValue": "74727565",
                            "id": 5414,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "kind": "bool",
                            "lValueRequested": false,
                            "nodeType": "Literal",
                            "src": "5985:4:18",
                            "subdenomination": null,
                            "typeDescriptions": {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            },
                            "value": "true"
                          }
                        ],
                        "expression": {
                          "argumentTypes": [
                            {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            {
                              "typeIdentifier": "t_rational_0_by_1",
                              "typeString": "int_const 0"
                            },
                            {
                              "typeIdentifier": "t_string_memory_ptr",
                              "typeString": "string memory"
                            },
                            {
                              "typeIdentifier": "t_bool",
                              "typeString": "bool"
                            }
                          ],
                          "id": 5410,
                          "name": "TimeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4880,
                          "src": "5955:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_type$_t_struct$_TimeLog_$4880_storage_ptr_$",
                            "typeString": "type(struct TimeLogger.TimeLog storage pointer)"
                          }
                        },
                        "id": 5415,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "kind": "structConstructorCall",
                        "lValueRequested": false,
                        "names": [],
                        "nodeType": "FunctionCall",
                        "src": "5955:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_memory",
                          "typeString": "struct TimeLogger.TimeLog memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_memory",
                          "typeString": "struct TimeLogger.TimeLog memory"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "id": 5407,
                        "name": "timeLog",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4906,
                        "src": "5942:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                        }
                      },
                      "id": 5409,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "5942:12:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_struct$_TimeLog_$4880_storage_$returns$_t_uint256_$",
                        "typeString": "function (struct TimeLogger.TimeLog storage ref) returns (uint256)"
                      }
                    },
                    "id": 5416,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "5942:49:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5417,
                  "nodeType": "ExpressionStatement",
                  "src": "5942:49:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5426,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "id": 5423,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6029:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5424,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "length",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": null,
                          "src": "6029:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": "-",
                        "rightExpression": {
                          "argumentTypes": null,
                          "hexValue": "31",
                          "id": 5425,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": true,
                          "kind": "number",
                          "lValueRequested": false,
                          "nodeType": "Literal",
                          "src": "6046:1:18",
                          "subdenomination": null,
                          "typeDescriptions": {
                            "typeIdentifier": "t_rational_1_by_1",
                            "typeString": "int_const 1"
                          },
                          "value": "1"
                        },
                        "src": "6029:18:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5418,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "6002:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5420,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5419,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5400,
                            "src": "6006:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6002:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5421,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "6002:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5422,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "push",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "6002:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_arraypush_nonpayable$_t_uint256_$returns$_t_uint256_$",
                        "typeString": "function (uint256) returns (uint256)"
                      }
                    },
                    "id": 5427,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6002:46:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5428,
                  "nodeType": "ExpressionStatement",
                  "src": "6002:46:18"
                }
              ]
            },
            "documentation": null,
            "id": 5430,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_createLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5405,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5400,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5838:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5399,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5838:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5402,
                  "name": "startTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5860:14:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5401,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "5860:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5404,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5430,
                  "src": "5884:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5403,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "5884:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "5828:82:18"
            },
            "returnParameters": {
              "id": 5406,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "5932:0:18"
            },
            "scope": 5694,
            "src": "5809:246:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5509,
              "nodeType": "Block",
              "src": "6181:545:18",
              "statements": [
                {
                  "assignments": [
                    5440
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5440,
                      "name": "index",
                      "nodeType": "VariableDeclaration",
                      "scope": 5509,
                      "src": "6191:10:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5439,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6191:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5453,
                  "initialValue": {
                    "argumentTypes": null,
                    "baseExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5441,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "6204:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5443,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5442,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5432,
                          "src": "6208:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6204:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5444,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "timelogs",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4883,
                      "src": "6204:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                        "typeString": "uint256[] storage ref"
                      }
                    },
                    "id": 5452,
                    "indexExpression": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5451,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5445,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "6226:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5447,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5446,
                              "name": "thisDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5432,
                              "src": "6230:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6226:12:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "id": 5448,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timelogs",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4883,
                          "src": "6226:21:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                            "typeString": "uint256[] storage ref"
                          }
                        },
                        "id": 5449,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "length",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": null,
                        "src": "6226:28:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5450,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6257:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "6226:32:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "isConstant": false,
                    "isLValue": true,
                    "isPure": false,
                    "lValueRequested": false,
                    "nodeType": "IndexAccess",
                    "src": "6204:55:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6191:68:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "commonType": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "id": 5460,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": false,
                        "lValueRequested": false,
                        "leftExpression": {
                          "argumentTypes": null,
                          "id": 5455,
                          "name": "endTime",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5434,
                          "src": "6278:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "BinaryOperation",
                        "operator": ">=",
                        "rightExpression": {
                          "argumentTypes": null,
                          "expression": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5456,
                              "name": "timeLog",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4906,
                              "src": "6289:7:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                              }
                            },
                            "id": 5458,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5457,
                              "name": "index",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5440,
                              "src": "6297:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "IndexAccess",
                            "src": "6289:14:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref"
                            }
                          },
                          "id": 5459,
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "memberName": "timeStart",
                          "nodeType": "MemberAccess",
                          "referencedDeclaration": 4873,
                          "src": "6289:24:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "src": "6278:35:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "hexValue": "496e76616c69642074696d65206672616d65",
                        "id": 5461,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "string",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "6315:20:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        },
                        "value": "Invalid time frame"
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_bool",
                          "typeString": "bool"
                        },
                        {
                          "typeIdentifier": "t_stringliteral_2d2e1470e1c11e67fd64797e0556e62b25fe67679284ab08042ffa9ac06b78a9",
                          "typeString": "literal_string \"Invalid time frame\""
                        }
                      ],
                      "id": 5454,
                      "name": "require",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [
                        7307,
                        7308
                      ],
                      "referencedDeclaration": 7308,
                      "src": "6270:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (bool,string memory) pure"
                      }
                    },
                    "id": 5462,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6270:66:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5463,
                  "nodeType": "ExpressionStatement",
                  "src": "6270:66:18"
                },
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_bytes32",
                      "typeString": "bytes32"
                    },
                    "id": 5481,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5467,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "6490:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5469,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "id": 5468,
                                      "name": "index",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 5440,
                                      "src": "6498:5:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "6490:14:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5470,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "source",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4877,
                                  "src": "6490:21:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_storage",
                                    "typeString": "string storage ref"
                                  }
                                }
                              ],
                              "id": 5471,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "6489:23:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_storage",
                                "typeString": "string storage ref"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 5465,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7291,
                              "src": "6472:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 5466,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6472:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 5472,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6472:41:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5464,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7298,
                        "src": "6462:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 5473,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6462:52:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "!=",
                    "rightExpression": {
                      "argumentTypes": null,
                      "arguments": [
                        {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "components": [
                                {
                                  "argumentTypes": null,
                                  "id": 5477,
                                  "name": "source",
                                  "nodeType": "Identifier",
                                  "overloadedDeclarations": [],
                                  "referencedDeclaration": 5436,
                                  "src": "6546:6:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_string_memory_ptr",
                                    "typeString": "string memory"
                                  }
                                }
                              ],
                              "id": 5478,
                              "isConstant": false,
                              "isInlineArray": false,
                              "isLValue": false,
                              "isPure": false,
                              "lValueRequested": false,
                              "nodeType": "TupleExpression",
                              "src": "6545:8:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_string_memory_ptr",
                                "typeString": "string memory"
                              }
                            ],
                            "expression": {
                              "argumentTypes": null,
                              "id": 5475,
                              "name": "abi",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 7291,
                              "src": "6528:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_magic_abi",
                                "typeString": "abi"
                              }
                            },
                            "id": 5476,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": true,
                            "lValueRequested": false,
                            "memberName": "encodePacked",
                            "nodeType": "MemberAccess",
                            "referencedDeclaration": null,
                            "src": "6528:16:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$",
                              "typeString": "function () pure returns (bytes memory)"
                            }
                          },
                          "id": 5479,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "6528:26:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        }
                      ],
                      "expression": {
                        "argumentTypes": [
                          {
                            "typeIdentifier": "t_bytes_memory_ptr",
                            "typeString": "bytes memory"
                          }
                        ],
                        "id": 5474,
                        "name": "keccak256",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 7298,
                        "src": "6518:9:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
                          "typeString": "function (bytes memory) pure returns (bytes32)"
                        }
                      },
                      "id": 5480,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "kind": "functionCall",
                      "lValueRequested": false,
                      "names": [],
                      "nodeType": "FunctionCall",
                      "src": "6518:37:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_bytes32",
                        "typeString": "bytes32"
                      }
                    },
                    "src": "6462:93:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5489,
                  "nodeType": "IfStatement",
                  "src": "6445:164:18",
                  "trueBody": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5487,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftHandSide": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5482,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6579:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5484,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5483,
                            "name": "index",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5440,
                            "src": "6587:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6579:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5485,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": true,
                        "memberName": "source",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4877,
                        "src": "6579:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_storage",
                          "typeString": "string storage ref"
                        }
                      },
                      "nodeType": "Assignment",
                      "operator": "=",
                      "rightHandSide": {
                        "argumentTypes": null,
                        "id": 5486,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5436,
                        "src": "6603:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      },
                      "src": "6579:30:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_string_storage",
                        "typeString": "string storage ref"
                      }
                    },
                    "id": 5488,
                    "nodeType": "ExpressionStatement",
                    "src": "6579:30:18"
                  }
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5495,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5490,
                          "name": "timeLog",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4906,
                          "src": "6620:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                          }
                        },
                        "id": 5492,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5491,
                          "name": "index",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5440,
                          "src": "6628:5:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6620:14:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                          "typeString": "struct TimeLogger.TimeLog storage ref"
                        }
                      },
                      "id": 5493,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "timeEnd",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4875,
                      "src": "6620:22:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5494,
                      "name": "endTime",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5434,
                      "src": "6645:7:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6620:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5496,
                  "nodeType": "ExpressionStatement",
                  "src": "6620:32:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5507,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5497,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "6663:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5499,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5498,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5432,
                          "src": "6667:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "6663:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5500,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "total",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4885,
                      "src": "6663:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "+=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5506,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 5501,
                        "name": "endTime",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5434,
                        "src": "6685:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "-",
                      "rightExpression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5502,
                            "name": "timeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4906,
                            "src": "6695:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                              "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                            }
                          },
                          "id": 5504,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5503,
                            "name": "index",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5440,
                            "src": "6703:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "6695:14:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                            "typeString": "struct TimeLogger.TimeLog storage ref"
                          }
                        },
                        "id": 5505,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timeStart",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4873,
                        "src": "6695:24:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "src": "6685:34:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6663:56:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5508,
                  "nodeType": "ExpressionStatement",
                  "src": "6663:56:18"
                }
              ]
            },
            "documentation": null,
            "id": 5510,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_closeLog",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5437,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5432,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6089:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5431,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6089:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5434,
                  "name": "endTime",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6111:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5433,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6111:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5436,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5510,
                  "src": "6133:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5435,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6133:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6079:80:18"
            },
            "returnParameters": {
              "id": 5438,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6181:0:18"
            },
            "scope": 5694,
            "src": "6061:665:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5557,
              "nodeType": "Block",
              "src": "6866:342:18",
              "statements": [
                {
                  "assignments": [
                    5520
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5520,
                      "name": "lastMidnight",
                      "nodeType": "VariableDeclaration",
                      "scope": 5557,
                      "src": "6876:17:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5519,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "6876:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5527,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5526,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "components": [
                        {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5523,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5521,
                            "name": "lastOpenDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4901,
                            "src": "6897:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5522,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "6909:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "6897:27:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        }
                      ],
                      "id": 5524,
                      "isConstant": false,
                      "isInlineArray": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "TupleExpression",
                      "src": "6896:29:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "+",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5525,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "6926:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "6896:45:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "6876:65:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5529,
                        "name": "lastOpenDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4901,
                        "src": "6962:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5530,
                        "name": "lastMidnight",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5520,
                        "src": "6975:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5531,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "6989:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5528,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "6952:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5532,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "6952:44:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5533,
                  "nodeType": "ExpressionStatement",
                  "src": "6952:44:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5535,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7029:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5536,
                        "name": "lastOpenDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 4901,
                        "src": "7036:11:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      ],
                      "id": 5534,
                      "name": "_completeDaysInTheGap",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5608,
                      "src": "7007:21:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$returns$__$",
                        "typeString": "function (uint256,uint256)"
                      }
                    },
                    "id": 5537,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7007:41:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5538,
                  "nodeType": "ExpressionStatement",
                  "src": "7007:41:18"
                },
                {
                  "assignments": [
                    5540
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5540,
                      "name": "todayMidnight",
                      "nodeType": "VariableDeclaration",
                      "scope": 5557,
                      "src": "7059:18:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5539,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "7059:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5544,
                  "initialValue": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5543,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5541,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5512,
                      "src": "7080:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "*",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5542,
                      "name": "SECONDS_PER_DAY",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 4856,
                      "src": "7086:15:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7080:21:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7059:42:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5546,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7123:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5547,
                        "name": "todayMidnight",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5540,
                        "src": "7130:13:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5548,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "7145:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5545,
                      "name": "_createLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5430,
                      "src": "7112:10:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5549,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7112:40:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5550,
                  "nodeType": "ExpressionStatement",
                  "src": "7112:40:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "arguments": [
                      {
                        "argumentTypes": null,
                        "id": 5552,
                        "name": "today",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5512,
                        "src": "7173:5:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5553,
                        "name": "nowInSeconds",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5514,
                        "src": "7180:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      {
                        "argumentTypes": null,
                        "id": 5554,
                        "name": "source",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5516,
                        "src": "7194:6:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      }
                    ],
                    "expression": {
                      "argumentTypes": [
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        {
                          "typeIdentifier": "t_string_memory_ptr",
                          "typeString": "string memory"
                        }
                      ],
                      "id": 5551,
                      "name": "_closeLog",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5510,
                      "src": "7163:9:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                        "typeString": "function (uint256,uint256,string memory)"
                      }
                    },
                    "id": 5555,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "kind": "functionCall",
                    "lValueRequested": false,
                    "names": [],
                    "nodeType": "FunctionCall",
                    "src": "7163:38:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_tuple$__$",
                      "typeString": "tuple()"
                    }
                  },
                  "id": 5556,
                  "nodeType": "ExpressionStatement",
                  "src": "7163:38:18"
                }
              ]
            },
            "documentation": null,
            "id": 5558,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_completePendingDays",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5517,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5512,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6771:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5511,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6771:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5514,
                  "name": "nowInSeconds",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6791:17:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5513,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "6791:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5516,
                  "name": "source",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "6818:20:18",
                  "stateVariable": false,
                  "storageLocation": "memory",
                  "typeDescriptions": {
                    "typeIdentifier": "t_string_memory_ptr",
                    "typeString": "string"
                  },
                  "typeName": {
                    "id": 5515,
                    "name": "string",
                    "nodeType": "ElementaryTypeName",
                    "src": "6818:6:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_string_storage_ptr",
                      "typeString": "string"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "6761:83:18"
            },
            "returnParameters": {
              "id": 5518,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "6866:0:18"
            },
            "scope": 5694,
            "src": "6732:476:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5607,
              "nodeType": "Block",
              "src": "7314:386:18",
              "statements": [
                {
                  "body": {
                    "id": 5605,
                    "nodeType": "Block",
                    "src": "7425:269:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5578,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7447:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            ],
                            "id": 5577,
                            "name": "_setDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5693,
                            "src": "7439:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$returns$__$",
                              "typeString": "function (uint256)"
                            }
                          },
                          "id": 5579,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7439:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5580,
                        "nodeType": "ExpressionStatement",
                        "src": "7439:10:18"
                      },
                      {
                        "assignments": [
                          5582
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5582,
                            "name": "startOfTheDay",
                            "nodeType": "VariableDeclaration",
                            "scope": 5605,
                            "src": "7464:18:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 5581,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "7464:4:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5586,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5585,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5583,
                            "name": "i",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5566,
                            "src": "7485:1:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "*",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5584,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "7487:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7485:17:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7464:38:18"
                      },
                      {
                        "assignments": [
                          5588
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5588,
                            "name": "endOfTheDay",
                            "nodeType": "VariableDeclaration",
                            "scope": 5605,
                            "src": "7516:16:18",
                            "stateVariable": false,
                            "storageLocation": "default",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            },
                            "typeName": {
                              "id": 5587,
                              "name": "uint",
                              "nodeType": "ElementaryTypeName",
                              "src": "7516:4:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5592,
                        "initialValue": {
                          "argumentTypes": null,
                          "commonType": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          },
                          "id": 5591,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftExpression": {
                            "argumentTypes": null,
                            "id": 5589,
                            "name": "startOfTheDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5582,
                            "src": "7535:13:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "BinaryOperation",
                          "operator": "+",
                          "rightExpression": {
                            "argumentTypes": null,
                            "id": 5590,
                            "name": "SECONDS_PER_DAY",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4856,
                            "src": "7551:15:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7535:31:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "nodeType": "VariableDeclarationStatement",
                        "src": "7516:50:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5594,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7592:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5595,
                              "name": "startOfTheDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5582,
                              "src": "7595:13:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5596,
                              "name": "SOLIDITY_SOURCE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4859,
                              "src": "7610:15:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 5593,
                            "name": "_createLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5430,
                            "src": "7581:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,string memory)"
                            }
                          },
                          "id": 5597,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7581:45:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5598,
                        "nodeType": "ExpressionStatement",
                        "src": "7581:45:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "arguments": [
                            {
                              "argumentTypes": null,
                              "id": 5600,
                              "name": "i",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5566,
                              "src": "7651:1:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5601,
                              "name": "endOfTheDay",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5588,
                              "src": "7654:11:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            {
                              "argumentTypes": null,
                              "id": 5602,
                              "name": "SOLIDITY_SOURCE",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4859,
                              "src": "7667:15:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            }
                          ],
                          "expression": {
                            "argumentTypes": [
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              },
                              {
                                "typeIdentifier": "t_string_memory",
                                "typeString": "string memory"
                              }
                            ],
                            "id": 5599,
                            "name": "_closeLog",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5510,
                            "src": "7641:9:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$",
                              "typeString": "function (uint256,uint256,string memory)"
                            }
                          },
                          "id": 5603,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "kind": "functionCall",
                          "lValueRequested": false,
                          "names": [],
                          "nodeType": "FunctionCall",
                          "src": "7641:42:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_tuple$__$",
                            "typeString": "tuple()"
                          }
                        },
                        "id": 5604,
                        "nodeType": "ExpressionStatement",
                        "src": "7641:42:18"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5573,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5571,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5566,
                      "src": "7409:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "id": 5572,
                      "name": "today",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5560,
                      "src": "7413:5:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7409:9:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5606,
                  "initializationExpression": {
                    "assignments": [
                      5566
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5566,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5606,
                        "src": "7387:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5565,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7387:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5570,
                    "initialValue": {
                      "argumentTypes": null,
                      "commonType": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "id": 5569,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "leftExpression": {
                        "argumentTypes": null,
                        "id": 5567,
                        "name": "lastDay",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5562,
                        "src": "7396:7:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "nodeType": "BinaryOperation",
                      "operator": "+",
                      "rightExpression": {
                        "argumentTypes": null,
                        "hexValue": "31",
                        "id": 5568,
                        "isConstant": false,
                        "isLValue": false,
                        "isPure": true,
                        "kind": "number",
                        "lValueRequested": false,
                        "nodeType": "Literal",
                        "src": "7406:1:18",
                        "subdenomination": null,
                        "typeDescriptions": {
                          "typeIdentifier": "t_rational_1_by_1",
                          "typeString": "int_const 1"
                        },
                        "value": "1"
                      },
                      "src": "7396:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7387:20:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5575,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "7420:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5574,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5566,
                        "src": "7420:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5576,
                    "nodeType": "ExpressionStatement",
                    "src": "7420:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "7382:312:18"
                }
              ]
            },
            "documentation": null,
            "id": 5608,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_completeDaysInTheGap",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5560,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5608,
                  "src": "7254:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5559,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7254:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5562,
                  "name": "lastDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5608,
                  "src": "7274:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5561,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7274:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7244:48:18"
            },
            "returnParameters": {
              "id": 5564,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7314:0:18"
            },
            "scope": 5694,
            "src": "7214:486:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5662,
              "nodeType": "Block",
              "src": "7782:305:18",
              "statements": [
                {
                  "assignments": [
                    5614
                  ],
                  "declarations": [
                    {
                      "constant": false,
                      "id": 5614,
                      "name": "totalAmount",
                      "nodeType": "VariableDeclaration",
                      "scope": 5662,
                      "src": "7792:16:18",
                      "stateVariable": false,
                      "storageLocation": "default",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      },
                      "typeName": {
                        "id": 5613,
                        "name": "uint",
                        "nodeType": "ElementaryTypeName",
                        "src": "7792:4:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "value": null,
                      "visibility": "internal"
                    }
                  ],
                  "id": 5615,
                  "initialValue": null,
                  "nodeType": "VariableDeclarationStatement",
                  "src": "7792:16:18"
                },
                {
                  "body": {
                    "id": 5653,
                    "nodeType": "Block",
                    "src": "7875:163:18",
                    "statements": [
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5651,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "id": 5630,
                            "name": "totalAmount",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5614,
                            "src": "7889:11:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "+=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "components": [
                              {
                                "argumentTypes": null,
                                "commonType": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                },
                                "id": 5649,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": false,
                                "lValueRequested": false,
                                "leftExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5631,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "7926:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5638,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 5632,
                                            "name": "day",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4910,
                                            "src": "7934:3:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                            }
                                          },
                                          "id": 5634,
                                          "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 5633,
                                            "name": "thisDay",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5610,
                                            "src": "7938:7:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "7934:12:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                                            "typeString": "struct TimeLogger.Day storage ref"
                                          }
                                        },
                                        "id": 5635,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "timelogs",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 4883,
                                        "src": "7934:21:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                          "typeString": "uint256[] storage ref"
                                        }
                                      },
                                      "id": 5637,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 5636,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5617,
                                        "src": "7956:1:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "7934:24:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "7926:33:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5639,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timeEnd",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4875,
                                  "src": "7926:41:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "nodeType": "BinaryOperation",
                                "operator": "-",
                                "rightExpression": {
                                  "argumentTypes": null,
                                  "expression": {
                                    "argumentTypes": null,
                                    "baseExpression": {
                                      "argumentTypes": null,
                                      "id": 5640,
                                      "name": "timeLog",
                                      "nodeType": "Identifier",
                                      "overloadedDeclarations": [],
                                      "referencedDeclaration": 4906,
                                      "src": "7970:7:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_array$_t_struct$_TimeLog_$4880_storage_$dyn_storage",
                                        "typeString": "struct TimeLogger.TimeLog storage ref[] storage ref"
                                      }
                                    },
                                    "id": 5647,
                                    "indexExpression": {
                                      "argumentTypes": null,
                                      "baseExpression": {
                                        "argumentTypes": null,
                                        "expression": {
                                          "argumentTypes": null,
                                          "baseExpression": {
                                            "argumentTypes": null,
                                            "id": 5641,
                                            "name": "day",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 4910,
                                            "src": "7978:3:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                                            }
                                          },
                                          "id": 5643,
                                          "indexExpression": {
                                            "argumentTypes": null,
                                            "id": 5642,
                                            "name": "thisDay",
                                            "nodeType": "Identifier",
                                            "overloadedDeclarations": [],
                                            "referencedDeclaration": 5610,
                                            "src": "7982:7:18",
                                            "typeDescriptions": {
                                              "typeIdentifier": "t_uint256",
                                              "typeString": "uint256"
                                            }
                                          },
                                          "isConstant": false,
                                          "isLValue": true,
                                          "isPure": false,
                                          "lValueRequested": false,
                                          "nodeType": "IndexAccess",
                                          "src": "7978:12:18",
                                          "typeDescriptions": {
                                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                                            "typeString": "struct TimeLogger.Day storage ref"
                                          }
                                        },
                                        "id": 5644,
                                        "isConstant": false,
                                        "isLValue": true,
                                        "isPure": false,
                                        "lValueRequested": false,
                                        "memberName": "timelogs",
                                        "nodeType": "MemberAccess",
                                        "referencedDeclaration": 4883,
                                        "src": "7978:21:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                                          "typeString": "uint256[] storage ref"
                                        }
                                      },
                                      "id": 5646,
                                      "indexExpression": {
                                        "argumentTypes": null,
                                        "id": 5645,
                                        "name": "i",
                                        "nodeType": "Identifier",
                                        "overloadedDeclarations": [],
                                        "referencedDeclaration": 5617,
                                        "src": "8000:1:18",
                                        "typeDescriptions": {
                                          "typeIdentifier": "t_uint256",
                                          "typeString": "uint256"
                                        }
                                      },
                                      "isConstant": false,
                                      "isLValue": true,
                                      "isPure": false,
                                      "lValueRequested": false,
                                      "nodeType": "IndexAccess",
                                      "src": "7978:24:18",
                                      "typeDescriptions": {
                                        "typeIdentifier": "t_uint256",
                                        "typeString": "uint256"
                                      }
                                    },
                                    "isConstant": false,
                                    "isLValue": true,
                                    "isPure": false,
                                    "lValueRequested": false,
                                    "nodeType": "IndexAccess",
                                    "src": "7970:33:18",
                                    "typeDescriptions": {
                                      "typeIdentifier": "t_struct$_TimeLog_$4880_storage",
                                      "typeString": "struct TimeLogger.TimeLog storage ref"
                                    }
                                  },
                                  "id": 5648,
                                  "isConstant": false,
                                  "isLValue": true,
                                  "isPure": false,
                                  "lValueRequested": false,
                                  "memberName": "timeStart",
                                  "nodeType": "MemberAccess",
                                  "referencedDeclaration": 4873,
                                  "src": "7970:43:18",
                                  "typeDescriptions": {
                                    "typeIdentifier": "t_uint256",
                                    "typeString": "uint256"
                                  }
                                },
                                "src": "7926:87:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              }
                            ],
                            "id": 5650,
                            "isConstant": false,
                            "isInlineArray": false,
                            "isLValue": false,
                            "isPure": false,
                            "lValueRequested": false,
                            "nodeType": "TupleExpression",
                            "src": "7904:123:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "src": "7889:138:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "id": 5652,
                        "nodeType": "ExpressionStatement",
                        "src": "7889:138:18"
                      }
                    ]
                  },
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5626,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "id": 5620,
                      "name": "i",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5617,
                      "src": "7836:1:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "<",
                    "rightExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5621,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "7840:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5623,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5622,
                            "name": "thisDay",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5610,
                            "src": "7844:7:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "7840:12:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5624,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "7840:21:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5625,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "7840:28:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "7836:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "id": 5654,
                  "initializationExpression": {
                    "assignments": [
                      5617
                    ],
                    "declarations": [
                      {
                        "constant": false,
                        "id": 5617,
                        "name": "i",
                        "nodeType": "VariableDeclaration",
                        "scope": 5654,
                        "src": "7824:6:18",
                        "stateVariable": false,
                        "storageLocation": "default",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        },
                        "typeName": {
                          "id": 5616,
                          "name": "uint",
                          "nodeType": "ElementaryTypeName",
                          "src": "7824:4:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "value": null,
                        "visibility": "internal"
                      }
                    ],
                    "id": 5619,
                    "initialValue": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5618,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "7833:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "nodeType": "VariableDeclarationStatement",
                    "src": "7824:10:18"
                  },
                  "loopExpression": {
                    "expression": {
                      "argumentTypes": null,
                      "id": 5628,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": false,
                      "lValueRequested": false,
                      "nodeType": "UnaryOperation",
                      "operator": "++",
                      "prefix": false,
                      "src": "7870:3:18",
                      "subExpression": {
                        "argumentTypes": null,
                        "id": 5627,
                        "name": "i",
                        "nodeType": "Identifier",
                        "overloadedDeclarations": [],
                        "referencedDeclaration": 5617,
                        "src": "7870:1:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_uint256",
                          "typeString": "uint256"
                        }
                      },
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "id": 5629,
                    "nodeType": "ExpressionStatement",
                    "src": "7870:3:18"
                  },
                  "nodeType": "ForStatement",
                  "src": "7819:219:18"
                },
                {
                  "expression": {
                    "argumentTypes": null,
                    "id": 5660,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftHandSide": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "baseExpression": {
                          "argumentTypes": null,
                          "id": 5655,
                          "name": "day",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 4910,
                          "src": "8048:3:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                            "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                          }
                        },
                        "id": 5657,
                        "indexExpression": {
                          "argumentTypes": null,
                          "id": 5656,
                          "name": "thisDay",
                          "nodeType": "Identifier",
                          "overloadedDeclarations": [],
                          "referencedDeclaration": 5610,
                          "src": "8052:7:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_uint256",
                            "typeString": "uint256"
                          }
                        },
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "nodeType": "IndexAccess",
                        "src": "8048:12:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_struct$_Day_$4888_storage",
                          "typeString": "struct TimeLogger.Day storage ref"
                        }
                      },
                      "id": 5658,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": true,
                      "memberName": "total",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": 4885,
                      "src": "8048:18:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "Assignment",
                    "operator": "=",
                    "rightHandSide": {
                      "argumentTypes": null,
                      "id": 5659,
                      "name": "totalAmount",
                      "nodeType": "Identifier",
                      "overloadedDeclarations": [],
                      "referencedDeclaration": 5614,
                      "src": "8069:11:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "src": "8048:32:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "id": 5661,
                  "nodeType": "ExpressionStatement",
                  "src": "8048:32:18"
                }
              ]
            },
            "documentation": null,
            "id": 5663,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_recalculateTotal",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5611,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5610,
                  "name": "thisDay",
                  "nodeType": "VariableDeclaration",
                  "scope": 5663,
                  "src": "7742:12:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5609,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "7742:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "7732:28:18"
            },
            "returnParameters": {
              "id": 5612,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "7782:0:18"
            },
            "scope": 5694,
            "src": "7706:381:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          },
          {
            "body": {
              "id": 5692,
              "nodeType": "Block",
              "src": "8157:150:18",
              "statements": [
                {
                  "condition": {
                    "argumentTypes": null,
                    "commonType": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    },
                    "id": 5674,
                    "isConstant": false,
                    "isLValue": false,
                    "isPure": false,
                    "lValueRequested": false,
                    "leftExpression": {
                      "argumentTypes": null,
                      "expression": {
                        "argumentTypes": null,
                        "expression": {
                          "argumentTypes": null,
                          "baseExpression": {
                            "argumentTypes": null,
                            "id": 5668,
                            "name": "day",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 4910,
                            "src": "8171:3:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                              "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                            }
                          },
                          "id": 5670,
                          "indexExpression": {
                            "argumentTypes": null,
                            "id": 5669,
                            "name": "today",
                            "nodeType": "Identifier",
                            "overloadedDeclarations": [],
                            "referencedDeclaration": 5665,
                            "src": "8175:5:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_uint256",
                              "typeString": "uint256"
                            }
                          },
                          "isConstant": false,
                          "isLValue": true,
                          "isPure": false,
                          "lValueRequested": false,
                          "nodeType": "IndexAccess",
                          "src": "8171:10:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5671,
                        "isConstant": false,
                        "isLValue": true,
                        "isPure": false,
                        "lValueRequested": false,
                        "memberName": "timelogs",
                        "nodeType": "MemberAccess",
                        "referencedDeclaration": 4883,
                        "src": "8171:19:18",
                        "typeDescriptions": {
                          "typeIdentifier": "t_array$_t_uint256_$dyn_storage",
                          "typeString": "uint256[] storage ref"
                        }
                      },
                      "id": 5672,
                      "isConstant": false,
                      "isLValue": true,
                      "isPure": false,
                      "lValueRequested": false,
                      "memberName": "length",
                      "nodeType": "MemberAccess",
                      "referencedDeclaration": null,
                      "src": "8171:26:18",
                      "typeDescriptions": {
                        "typeIdentifier": "t_uint256",
                        "typeString": "uint256"
                      }
                    },
                    "nodeType": "BinaryOperation",
                    "operator": "==",
                    "rightExpression": {
                      "argumentTypes": null,
                      "hexValue": "30",
                      "id": 5673,
                      "isConstant": false,
                      "isLValue": false,
                      "isPure": true,
                      "kind": "number",
                      "lValueRequested": false,
                      "nodeType": "Literal",
                      "src": "8201:1:18",
                      "subdenomination": null,
                      "typeDescriptions": {
                        "typeIdentifier": "t_rational_0_by_1",
                        "typeString": "int_const 0"
                      },
                      "value": "0"
                    },
                    "src": "8171:31:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "falseBody": null,
                  "id": 5691,
                  "nodeType": "IfStatement",
                  "src": "8167:134:18",
                  "trueBody": {
                    "id": 5690,
                    "nodeType": "Block",
                    "src": "8204:97:18",
                    "statements": [
                      {
                        "assignments": [
                          5678
                        ],
                        "declarations": [
                          {
                            "constant": false,
                            "id": 5678,
                            "name": "tmpArray",
                            "nodeType": "VariableDeclaration",
                            "scope": 5690,
                            "src": "8218:22:18",
                            "stateVariable": false,
                            "storageLocation": "memory",
                            "typeDescriptions": {
                              "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                              "typeString": "uint256[]"
                            },
                            "typeName": {
                              "baseType": {
                                "id": 5676,
                                "name": "uint",
                                "nodeType": "ElementaryTypeName",
                                "src": "8218:4:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_uint256",
                                  "typeString": "uint256"
                                }
                              },
                              "id": 5677,
                              "length": null,
                              "nodeType": "ArrayTypeName",
                              "src": "8218:6:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
                                "typeString": "uint256[]"
                              }
                            },
                            "value": null,
                            "visibility": "internal"
                          }
                        ],
                        "id": 5679,
                        "initialValue": null,
                        "nodeType": "VariableDeclarationStatement",
                        "src": "8218:22:18"
                      },
                      {
                        "expression": {
                          "argumentTypes": null,
                          "id": 5688,
                          "isConstant": false,
                          "isLValue": false,
                          "isPure": false,
                          "lValueRequested": false,
                          "leftHandSide": {
                            "argumentTypes": null,
                            "baseExpression": {
                              "argumentTypes": null,
                              "id": 5680,
                              "name": "day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4910,
                              "src": "8255:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_Day_$4888_storage_$",
                                "typeString": "mapping(uint256 => struct TimeLogger.Day storage ref)"
                              }
                            },
                            "id": 5682,
                            "indexExpression": {
                              "argumentTypes": null,
                              "id": 5681,
                              "name": "today",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 5665,
                              "src": "8259:5:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_uint256",
                                "typeString": "uint256"
                              }
                            },
                            "isConstant": false,
                            "isLValue": true,
                            "isPure": false,
                            "lValueRequested": true,
                            "nodeType": "IndexAccess",
                            "src": "8255:10:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_storage",
                              "typeString": "struct TimeLogger.Day storage ref"
                            }
                          },
                          "nodeType": "Assignment",
                          "operator": "=",
                          "rightHandSide": {
                            "argumentTypes": null,
                            "arguments": [
                              {
                                "argumentTypes": null,
                                "id": 5684,
                                "name": "tmpArray",
                                "nodeType": "Identifier",
                                "overloadedDeclarations": [],
                                "referencedDeclaration": 5678,
                                "src": "8272:8:18",
                                "typeDescriptions": {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                }
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "30",
                                "id": 5685,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "number",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8282:1:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                "value": "0"
                              },
                              {
                                "argumentTypes": null,
                                "hexValue": "74727565",
                                "id": 5686,
                                "isConstant": false,
                                "isLValue": false,
                                "isPure": true,
                                "kind": "bool",
                                "lValueRequested": false,
                                "nodeType": "Literal",
                                "src": "8285:4:18",
                                "subdenomination": null,
                                "typeDescriptions": {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                },
                                "value": "true"
                              }
                            ],
                            "expression": {
                              "argumentTypes": [
                                {
                                  "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr",
                                  "typeString": "uint256[] memory"
                                },
                                {
                                  "typeIdentifier": "t_rational_0_by_1",
                                  "typeString": "int_const 0"
                                },
                                {
                                  "typeIdentifier": "t_bool",
                                  "typeString": "bool"
                                }
                              ],
                              "id": 5683,
                              "name": "Day",
                              "nodeType": "Identifier",
                              "overloadedDeclarations": [],
                              "referencedDeclaration": 4888,
                              "src": "8268:3:18",
                              "typeDescriptions": {
                                "typeIdentifier": "t_type$_t_struct$_Day_$4888_storage_ptr_$",
                                "typeString": "type(struct TimeLogger.Day storage pointer)"
                              }
                            },
                            "id": 5687,
                            "isConstant": false,
                            "isLValue": false,
                            "isPure": false,
                            "kind": "structConstructorCall",
                            "lValueRequested": false,
                            "names": [],
                            "nodeType": "FunctionCall",
                            "src": "8268:22:18",
                            "typeDescriptions": {
                              "typeIdentifier": "t_struct$_Day_$4888_memory",
                              "typeString": "struct TimeLogger.Day memory"
                            }
                          },
                          "src": "8255:35:18",
                          "typeDescriptions": {
                            "typeIdentifier": "t_struct$_Day_$4888_storage",
                            "typeString": "struct TimeLogger.Day storage ref"
                          }
                        },
                        "id": 5689,
                        "nodeType": "ExpressionStatement",
                        "src": "8255:35:18"
                      }
                    ]
                  }
                }
              ]
            },
            "documentation": null,
            "id": 5693,
            "implemented": true,
            "kind": "function",
            "modifiers": [],
            "name": "_setDay",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5666,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5665,
                  "name": "today",
                  "nodeType": "VariableDeclaration",
                  "scope": 5693,
                  "src": "8119:10:18",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5664,
                    "name": "uint",
                    "nodeType": "ElementaryTypeName",
                    "src": "8119:4:18",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "8109:26:18"
            },
            "returnParameters": {
              "id": 5667,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "8157:0:18"
            },
            "scope": 5694,
            "src": "8093:214:18",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "internal"
          }
        ],
        "scope": 5695,
        "src": "82:8227:18"
      }
    ],
    "src": "0:8310:18"
  },
  "compiler": {
    "name": "solc",
    "version": "0.5.0+commit.1d4f565a.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.3",
  "updatedAt": "2020-01-15T10:55:50.287Z"
}