code: def fromXML(self, name, attrs, content, ttFont):
      if name == "GMAPs":
          if not hasattr(self, "GMAPs"):
              self.GMAPs = []
          for element in content:
              if isinstance(element, str):
                  continue
              itemName, itemAttrs, itemContent = element
              if itemName == "hexdata":
                  self.GMAPs.append(readHex(itemContent))
      elif name == "glyphlets":
          if not hasattr(self, "glyphlets"):
              self.glyphlets = []
          for element in content:
              if isinstance(element, str):
                  continue
              itemName, itemAttrs, itemContent = element
              if itemName == "hexdata":
                  self.glyphlets.append(readHex(itemContent))
      else:
          setattr(self, name, safeEval(attrs["value"]))
  
file_path: catboost/contrib/python/fonttools/fontTools/ttLib/tables/G_P_K_G_.py
imports: from fontTools.misc import sstruct
  from fontTools.misc.textTools import bytesjoin, safeEval, readHex
  from .None import DefaultTable
  import sys
  import array
label_desc: Use image node_id 4 for calling the table_G_P_K_G_ obj's underlying member method code with example usage: obj.fromXML(name, attrs, content, ttFont) without return types