code: def dump_str(self, names=None, child_lists=None, verbose=False):
          
          interesting = {}
          if names is None:
              fields = [
                  k for k in list(self.__dict__.keys())
                  if not k.startswith(b'_')
              ]
          else:
              fields = names
          for field in fields:
              value = self.__dict__.get(field)
              if field in self._binary and value is not None:
                  value = b'(...)'
              interesting[field] = value
          if verbose:
              return "%s: %s" % (self.__class__.__name__, interesting)
          else:
              return "\t".join([repr(interesting[k]) for k in fields])
docs: Dump fields as a string.
  
          For debugging.
  
          :param names: the list of fields to include or
              None for all public fields
          :param child_lists: dictionary of child command names to
              fields for that child command to include
          :param verbose: if True, prefix each line with the command class and
              display fields as a dictionary; if False, dump just the field
              values with tabs between them