code: def _parse_target(target):
      
  
      if len(target) != 8:
          raise ArgumentError("Invalid targeting data length", expected=8, length=len(target))
      slot, match_op = struct.unpack("<B6xB", target)
  
      if match_op == _MATCH_CONTROLLER:
          return {'controller': True, 'slot': 0}
      elif match_op == _MATCH_SLOT:
          return {'controller': False, 'slot': slot}
  
      raise ArgumentError("Unsupported complex targeting specified", match_op=match_op)
docs: Parse a binary targeting information structure.
  
      This function only supports extracting the slot number or controller from
      the target and will raise an ArgumentError if more complicated targeting
      is desired.
  
      Args:
          target (bytes): The binary targeting data blob.
  
      Returns:
          dict: The parsed targeting data