code: def parse_name(name):
      """Split name blobs from `git shortlog -nse` into first/last/email."""
      # remove commit count
      _, name_and_email = name.strip().split("\t")
      name, email = name_and_email.split(" <")
      email = email.strip(">")
      email = (
          "" if "noreply" in email else email
      )  # ignore "noreply" emails
      name = " ".join(name.split("."))  # remove periods from initials
      # handle compound surnames
      for compound_surname in compound_surnames:
          if name.endswith(compound_surname):
              ix = name.index(compound_surname)
              first = name[:ix].strip()
              last = compound_surname
              return (first, last, email)
      # handle non-compound surnames
      name_elements = name.split()
      if len(name_elements) == 1:  # mononyms / usernames
          first = ""
          last = name
      else:
          first = " ".join(name_elements[:-1])
          last = name_elements[-1]
      return (first, last, email)
  
imports: import subprocess
  import tomllib
  from argparse import ArgumentParser
  from datetime import date
  from pathlib import Path
label_desc: Use image node_id 1 for calling a global function with example usage: parse_name(name) and returns: first,  last,  email, first,  last,  email