code: def compat(
      self, token: Tuple[int, str], iterable: Iterable[TokenInfo]
  ) -> None:
      startline = False
      indents = []
      toks_append = self.tokens.append
      toknum, tokval = token
      if toknum in (NAME, NUMBER):
          tokval += " "
      if toknum in (NEWLINE, NL):
          startline = True
      for tok in iterable:
          toknum, tokval = tok[:2]
  
          if toknum in (NAME, NUMBER, ASYNC, AWAIT):
              tokval += " "
  
          if toknum == INDENT:
              indents.append(tokval)
              continue
          elif toknum == DEDENT:
              indents.pop()
              continue
          elif toknum in (NEWLINE, NL):
              startline = True
          elif startline and indents:
              toks_append(indents[-1])
              startline = False
          toks_append(tokval)
  
imports: import sys
  from typing import Callable, Final, Iterable, Iterator, List, Optional, Pattern, Set, Tuple, Union
  from blib2to3.pgen2.grammar import Grammar
  from blib2to3.pgen2.token import ASYNC, AWAIT, COMMENT, DEDENT, ENDMARKER, ERRORTOKEN, INDENT, NAME, NEWLINE, NL, NUMBER, OP, STRING, tok_name
  import re
  from codecs import BOM_UTF8, lookup
  from .None import token
label_desc: Use image node_id 4 for calling the Untokenizer obj's underlying member method code with example usage: obj.compat(token, iterable) without return types