                      self._counts["skip"] += 1
                      logger.warning("Legacy face not found in alignments file. This face has not "
                                     "been updated: '%s'", filename)
                      continue
              if not metadata.get("source_frame_dims"):
                  logger.error("The faces need to be re-extracted as at least some of them do not "
                               "contain information required to correctly generate masks.")
                  logger.error("You can re-extract the face-set by using the Alignments Tool's "
                               "Extract job.")
                  break
 
</s> remove from typing import Any, cast, Dict, List, Optional, Tuple, TYPE_CHECKING, Union
 </s> add from typing import cast, List, Optional, Tuple, TYPE_CHECKING, Union </s> remove     from lib.align.alignments import AlignmentFileDict, PNGHeaderDict, PNGHeaderSourceDict
 </s> add     from lib.align.alignments import AlignmentFileDict, PNGHeaderDict
            if "source_frame_dims" not in metadata.get("source", {}):
                      self._counts["skip"] += 1
                      logger.warning("Legacy face not found in alignments file. This face has not "
                                     "been updated: '%s'", filename)
                      continue
            if "source_frame_dims" not in metadata.get("source", {}):
                  logger.error("The faces need to be re-extracted as at least some of them do not "
                               "contain information required to correctly generate masks.")
                  logger.error("You can re-extract the face-set by using the Alignments Tool's "
                               "Extract job.")
                  break
keep keep keep keep replace keep keep keep keep keep
 bugfix: Mask tool, fix faces input type 
tools/mask/mask.py