docs: def extract(self):
          """Extract all the files inside the MPQ archive in memory."""
          if self.files:
              return dict((f, self.read_file(f)) for f in self.files)
          else:
              raise RuntimeError("Can't extract whole archive without listfile.")