code: def cull(self, delta: bool) -> None:
          
  
          LOGGER.debug('RevoCacheEntry.cull >>> delta: %s', delta)
  
          rr_frames = self.rr_delta_frames if delta else self.rr_state_frames
          mark = 4096**0.5  # max rev reg size = 4096; heuristic: hover max around sqrt(4096) = 64
          if len(rr_frames) > int(mark * 1.25):
              rr_frames.sort(key=lambda x: -x.qtime)  # order by descending query time
              del rr_frames[int(mark * 0.75):]  # retain most recent, grow again from here
              LOGGER.info(
                  'Pruned revocation cache entry %s to %s %s frames',
                  self.rev_reg_def['id'],
                  len(rr_frames),
                  'delta' if delta else 'state')
  
          LOGGER.debug('RevoCacheEntry.cull <<<')
docs: Cull cache entry frame list to size, favouring most recent query time.
  
          :param delta: True to operate on rev reg deltas, False for rev reg states