      arguments: argparse.Namespace
          The arguments to be passed to the extraction process as generated from Faceswap's command
          line arguments
      """
      def __init__(self, arguments):
          logger.debug("Initializing %s: (args: %s", self.__class__.__name__, arguments)
          self._args = arguments
          self._output_dir = None if self._args.skip_saving_faces else get_folder(
              self._args.output_dir)
  
 
</s> remove     arguments: argparse.Namespace
 </s> add     arguments: :class:`argparse.Namespace` </s> remove         func = getattr(self, "_{}".format(task))
 </s> add         func = getattr(self, f"_{task}") </s> remove     def _save_interval(self):
 </s> add     def _save_interval(self) -> Optional[int]: </s> remove     def _reload(self, detected_faces):
 </s> add     def _reload(self, detected_faces: dict[str, ExtractMedia]) -> None: </s> remove     def _skip_num(self):
 </s> add     def _skip_num(self) -> int:
    def __init__(self, arguments: argparse.Namespace) -> None:
      arguments: argparse.Namespace
          The arguments to be passed to the extraction process as generated from Faceswap's command
          line arguments
      """
    def __init__(self, arguments: argparse.Namespace) -> None:
          logger.debug("Initializing %s: (args: %s", self.__class__.__name__, arguments)
          self._args = arguments
          self._output_dir = None if self._args.skip_saving_faces else get_folder(
              self._args.output_dir)
  
keep keep keep keep replace keep keep keep keep keep
 bugfix: extract - stop progress bar from going over max value 
scripts/extract.py