      @property
      def _filetypes(self) -> Dict[str, List[Tuple[str, str]]]:
          """ dict: The accepted extensions for each file type for opening/saving """
          all_files = ("All files", "*.*")
          filetypes = dict(
              default=[all_files],
              alignments=[("Faceswap Alignments", "*.fsa"), all_files],
              config_project=[("Faceswap Project files", "*.fsw"), all_files],
              config_task=[("Faceswap Task files", "*.fst"), all_files],
              config_all=[("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
              csv=[("Comma separated values", "*.csv"), all_files],
              image=[("Bitmap", "*.bmp"),
                     ("JPG", "*.jpeg *.jpg"),
                     ("PNG", "*.png"),
                     ("TIFF", "*.tif *.tiff"),
                     all_files],
              ini=[("Faceswap config files", "*.ini"), all_files],
              json=[("JSON file", "*.json"), all_files],
              model=[("Keras model files", "*.h5"), all_files],
              state=[("State files", "*.json"), all_files],
              log=[("Log files", "*.log"), all_files],
              video=[("Audio Video Interleave", "*.avi"),
                     ("Flash Video", "*.flv"),
                     ("Matroska", "*.mkv"),
                     ("MOV", "*.mov"),
                     ("MP4", "*.mp4"),
                     ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                     ("WebM", "*.webm"),
                     ("Windows Media Video", "*.wmv"),
                     all_files])
  
          # Add in multi-select options and upper case extensions for Linux
          for key in filetypes:
              if platform.system() == "Linux":
                  filetypes[key] = [item
 
</s> remove     def _filetypes(self) -> Dict[str, List[Tuple[str, str]]]:
 </s> add     def _filetypes(self) -> dict[str, list[tuple[str, str]]]: </s> remove         self.rocm_version: Tuple[int, ...] = (0, 0, 0)
 </s> add         self.rocm_version: tuple[int, ...] = (0, 0, 0) </s> remove         defaults: Dict[str, Optional[str]] = {
 </s> add         defaults: dict[str, str | None] = { </s> remove     def _vram_per_phase(self) -> Dict[str, float]:
 </s> add     def _vram_per_phase(self) -> dict[str, float]: </s> remove                 filetypes[key].insert(0, cast(Tuple[str, str], tuple(multi)))
 </s> add                 filetypes[key].insert(0, T.cast(tuple[str, str], tuple(multi)))
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
      @property
      def _filetypes(self) -> Dict[str, List[Tuple[str, str]]]:
          """ dict: The accepted extensions for each file type for opening/saving """
          all_files = ("All files", "*.*")
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
        filetypes = {
            "default": [all_files],
            "alignments": [("Faceswap Alignments", "*.fsa"), all_files],
            "config_project": [("Faceswap Project files", "*.fsw"), all_files],
            "config_task": [("Faceswap Task files", "*.fst"), all_files],
            "config_all": [("Faceswap Project and Task files", "*.fst *.fsw"), all_files],
            "csv": [("Comma separated values", "*.csv"), all_files],
            "image": [("Bitmap", "*.bmp"),
                      ("JPG", "*.jpeg *.jpg"),
                      ("PNG", "*.png"),
                      ("TIFF", "*.tif *.tiff"),
                      all_files],
            "ini": [("Faceswap config files", "*.ini"), all_files],
            "json": [("JSON file", "*.json"), all_files],
            "model": [("Keras model files", "*.h5"), all_files],
            "state": [("State files", "*.json"), all_files],
            "log": [("Log files", "*.log"), all_files],
            "video": [("Audio Video Interleave", "*.avi"),
                      ("Flash Video", "*.flv"),
                      ("Matroska", "*.mkv"),
                      ("MOV", "*.mov"),
                      ("MP4", "*.mp4"),
                      ("MPEG", "*.mpeg *.mpg *.ts *.vob"),
                      ("WebM", "*.webm"),
                      ("Windows Media Video", "*.wmv"),
                      all_files]}
  
          # Add in multi-select options and upper case extensions for Linux
          for key in filetypes:
              if platform.system() == "Linux":
                  filetypes[key] = [item
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Rebase code (#1326)

* Remove tensorflow_probability requirement

* setup.py - fix progress bars

* requirements.txt: Remove pre python 3.9 packages

* update apple requirements.txt

* update INSTALL.md

* Remove python<3.9 code

* setup.py - fix Windows Installer

* typing: python3.9 compliant

* Update pytest and readthedocs python versions

* typing fixes

* Python Version updates
  - Reduce max version to 3.10
  - Default to 3.10 in installers
  - Remove incompatible 3.11 tests

* Update dependencies

* Downgrade imageio dep for Windows

* typing: merge optional unions and fixes

* Updates
  - min python version 3.10
  - typing to python 3.10 spec
  - remove pre-tf2.10 code
  - Add conda tests

* train: re-enable optimizer saving

* Update dockerfiles

* Update setup.py
  - Apple Conda deps to setup.py
  - Better Cuda + dependency handling

* bugfix: Patch logging to prevent Autograph errors

* Update dockerfiles

* Setup.py - Setup.py - stdout to utf-8

* Add more OSes to github Actions

* suppress mac-os end to end test 
lib/gui/utils/file_handler.py