docs: def result(self, r=None, **kwargs):
          '''
          Validates a result, stores it in self.results and prints it.
          Accepts the same kwargs as the binwalk.core.module.Result class.
  
          @r - An existing instance of binwalk.core.module.Result.
  
          Returns an instance of binwalk.core.module.Result.
          '''
          if r is None:
              r = Result(**kwargs)
  
          # Add the name of the current module to the result
          r.module = self.__class__.__name__
  
          # Any module that is reporting results, valid or not, should be marked
          # as enabled
          if not self.enabled:
              self.enabled = True
  
          self.validate(r)
          self._plugins_result(r)
  
          # Update the progress status automatically if it is not being done
          # manually by the module
          if r.offset and r.file and self.AUTO_UPDATE_STATUS:
              self.status.total = r.file.length
              self.status.completed = r.offset
              self.status.fp = r.file
  
          for dependency in self.dependencies:
              try:
                  getattr(self, dependency.attribute).callback(r)
              except AttributeError:
                  continue
  
          if r.valid:
              self.results.append(r)
  
              if r.display:
                  display_args = self._build_display_args(r)
                  if display_args:
                      self.config.display.format_strings(self.HEADER_FORMAT, self.RESULT_FORMAT)
                      self.config.display.result(*display_args)
  
          return r