              if self._target is not None:
                  retval = self._target(*self._args, **self._kwargs)
                  self._queue.put(retval)
          except Exception:  # pylint: disable=broad-except
              self.err = cast(Tuple[Type[BaseException], BaseException, "TracebackType"],
                              sys.exc_info())
              assert self.err is not None
              logger.debug("Error in thread (%s): %s", self._name,
                           self.err[1].with_traceback(self.err[2]))
          finally:
              self._complete.set()
 
</s> remove             queue = cast("EventQueue", args[0])
 </s> add             queue = T.cast("EventQueue", args[0]) </s> remove                 centering: "CenteringType" = ("legacy" if self._alignments is not None and
                                              self._alignments.version == 1.0
                                              else mask.stored_centering)
 </s> add                 centering: CenteringType = ("legacy" if self._alignments is not None and
                                            self._alignments.version == 1.0
                                            else mask.stored_centering) </s> remove         data: Dict[int, EventData] = {}
 </s> add         data: dict[int, EventData] = {} </s> remove         directml_ver = rocm_ver = (2, 10)
        min_ver = (2, 7)
 </s> add         min_ver = (2, 10)
            self.err = T.cast(tuple[type[BaseException], BaseException, "TracebackType"],
                              sys.exc_info())
              if self._target is not None:
                  retval = self._target(*self._args, **self._kwargs)
                  self._queue.put(retval)
          except Exception:  # pylint: disable=broad-except
            self.err = T.cast(tuple[type[BaseException], BaseException, "TracebackType"],
                              sys.exc_info())
            self.err = T.cast(tuple[type[BaseException], BaseException, "TracebackType"],
                              sys.exc_info())
              assert self.err is not None
              logger.debug("Error in thread (%s): %s", self._name,
                           self.err[1].with_traceback(self.err[2]))
          finally:
              self._complete.set()
keep keep keep keep 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/misc.py