def _fix_left(self, reading_id, last, start, found_id):
        """Fix a reading by looking for the nearest anchor point before it."""

        accum_delta = 0
        exact = True
        crossed_break = False

        if start == 0:
            return None

        for curr in self._anchor_points.islice(None, start - 1, reverse=True):
            if curr.uptime is None or last.uptime is None:
                exact = False
            elif curr.is_break or last.uptime < curr.uptime:
                exact = False
                crossed_break = True
            else:
                accum_delta += last.uptime - curr.uptime

            if curr.utc is not None:
                time_delta = datetime.timedelta(seconds=accum_delta)
                return UTCAssignment(reading_id, curr.utc + time_delta, found_id, exact, crossed_break)

            last = curr

        return None
Fix a reading by looking for the nearest anchor point before it.