code: def parse_item(lines):
      
      info = {}
      for line in lines:
          key, value = line.split(': ', 1)
          if key in LIST_KEYS:
              info.setdefault(key, []).append(value)
          else:
              assert key not in info
              info[key] = value
      
      if 'Subtag' in info or 'Tag' in info:
          yield info
docs: Given the lines that form a subtag entry (after joining wrapped lines
      back together), parse the data they contain.
      
      Returns a generator that yields once if there was any data there
      (and an empty generator if this was just the header).