          component = self.root if widget is None else widget
          component.config(cursor="")  # type: ignore
          component.update_idletasks()
  
      def set_root_title(self, text: Optional[str] = None) -> None:
          """ Set the main title text for Faceswap.
  
          The title will always begin with 'Faceswap.py'. Additional text can be appended.
  
          Parameters
 
</s> remove     def set_cursor_default(self, widget: Optional[tk.Widget] = None) -> None:
 </s> add     def set_cursor_default(self, widget: tk.Widget | None = None) -> None: </s> remove     def _non_gui_print(self, text: str, end: Optional[str] = None) -> None:
 </s> add     def _print_conda(self, text: bytes) -> None:
        """ Output progress for Conda installs

        Parameters
        ----------
        text: bytes
            The text to print
        """
        data = self._re_conda.match(text)
        if not data:
            return
        lib = data.groupdict()["lib"].decode("utf-8", errors="replace")
        size = data.groupdict()["tot"].decode("utf-8", errors="replace")
        progress = int(data.groupdict()["prg"].decode("utf-8", errors="replace")[:-1])
        self._progess_bar(lib, size, progress)

    def _print_pip(self, text: bytes) -> None:
        """ Output progress for Pip installs

        Parameters
        ----------
        text: bytes
            The text to print
        """
        pkg = self._re_pip_pkg.match(text)
        if pkg:
            logger.debug("Collected pip package '%s'", pkg)
            self._pip_pkg = pkg.groupdict()["lib"].decode("utf-8", errors="replace")
            return
        data = self._re_pip.search(text)
        if not data:
            return
        done = float(data.groupdict()["done"].decode("utf-8", errors="replace"))
        size = data.groupdict()["tot"].decode("utf-8", errors="replace")
        progress = int(round(done / float(size.split()[0]) * 100, 0))
        self._progess_bar(self._pip_pkg, size, progress)

    def _non_gui_print(self, text: bytes) -> None: </s> remove     def _split_lines(self, text: str, width: int) -> List[str]:
 </s> add     def _split_lines(self, text: str, width: int) -> list[str]: </s> remove     def set_cursor_busy(self, widget: Optional[tk.Widget] = None) -> None:
 </s> add     def set_cursor_busy(self, widget: tk.Widget | None = None) -> None: </s> remove     def get_faces(self, frame: str, image: Optional["np.ndarray"] = None) -> None:
 </s> add     def get_faces(self, frame: str, image: np.ndarray | None = None) -> None:
    def set_root_title(self, text: str | None = None) -> None:
          component = self.root if widget is None else widget
          component.config(cursor="")  # type: ignore
          component.update_idletasks()
  
    def set_root_title(self, text: str | None = None) -> None:
          """ Set the main title text for Faceswap.
  
          The title will always begin with 'Faceswap.py'. Additional text can be appended.
  
          Parameters
keep keep keep keep 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/config.py