code: def stash_revs(self) -> Dict[str, ExpStashEntry]:
      revs = {}
      for i, entry in enumerate(self):
          msg = entry.message.decode("utf-8").strip()
          m = self.MESSAGE_RE.match(msg)
          if m:
              revs[entry.new_sha.decode("utf-8")] = ExpStashEntry(
                  i,
                  m.group("rev"),
                  m.group("baseline_rev"),
                  m.group("branch"),
                  m.group("name"),
              )
      return revs
  
imports: import re
  from contextlib import contextmanager
  from typing import Dict, Iterable, Iterator, NamedTuple, Optional
  from scmrepo.git import Stash
  from dvc.exceptions import DvcException
  from dvc.log import logger
  from dvc_objects.fs.local import localfs
  from dvc_objects.fs.utils import as_atomic
  from .refs import APPLY_HEAD, APPLY_STASH
label_desc: Use image node_id 1 for calling the ExpStash obj's underlying member method code with example usage: obj.stash_revs() and returns: revs