<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def data(self, where, start, end, archiver="", timeout=DEFAULT_TIMEOUT):
 """ With the given WHERE clause, retrieves all RAW data between the 2 given timestamps Arguments: [where]: the where clause (e.g. 'path like "keti"', 'SourceName = "TED Main"') [start, end]: time references: [archiver]: if specified, this is the archiver to use. Else, it will run on the first archiver passed into the constructor for the client [timeout]: time in seconds to wait for a response from the archiver """

        return self.query("select data in ({0}, {1}) where {2}".format(start, end, where), archiver, timeout).get('timeseries',{})