docs: def pagedump(self):
          """
          dump the contents of all pages, ignoring links between pages,
          this will enable you to view contents of pages which have become
          lost due to datacorruption.
          """
          self.fh.seek(self.pagesize)
          pn = 1
          while True:
              try:
                  pagedata = self.fh.read(self.pagesize)
                  if len(pagedata) == 0:
                      break
                  elif len(pagedata) != self.pagesize:
                      print("%06x: incomplete - %d bytes ( pagesize = %d )" % (pn, len(pagedata), self.pagesize))
                      break
                  elif pagedata == b'\x00' * self.pagesize:
                      print("%06x: empty" % (pn))
                  else:
                      page = self.page(pagedata)
  
                      print("%06x: preceeding = %06x, reccount = %04x" % (pn, page.preceeding, page.count))
                      for ent in page.index:
                          print("    %s" % ent)
              except Exception as e:
                  print("%06x: ERROR decoding as B-tree page: %s" % (pn, e))
              pn += 1