  
          logger.debug("Alignments count: %s, timestamp count: %s", len(self.data), len(pts_time))
          if len(self.data) != len(pts_time):
              raise FaceswapError(
                  "There is a mismatch between the number of frames found in the video file ({}) "
                  "and the number of frames found in the alignments file ({})."
                  "\nThis can be caused by a number of issues:"
                  "\n  - The video has a Variable Frame Rate and FFMPEG is having a hard time "
                  "calculating the correct number of frames."
                  "\n  - You are working with a Merged Alignments file. This is not supported for "
                  "your current use case."
                  "\nYou should either extract the video to individual frames, re-encode the "
 
</s> remove                 "alignments file for your requested video.".format(len(pts_time), len(self.data)))
 </s> add                 "alignments file for your requested video.") </s> remove         reference_groups = dict()
 </s> add         reference_groups = {} </s> remove         reference_groups = dict()
 </s> add         reference_groups = {} </s> remove             raise FaceswapError("Error: Alignments file not found at "
                                "{}".format(self._file))
 </s> add             raise FaceswapError(f"Error: Alignments file not found at {self._file}") </s> remove         new_location = "{}.{}".format(os.path.splitext(old_location)[0],
                                      self._serializer.file_extension)
 </s> add         new_location = f"{os.path.splitext(old_location)[0]}.{self._serializer.file_extension}"
                "There is a mismatch between the number of frames found in the video file "
                f"({len(pts_time)}) and the number of frames found in the alignments file "
                f"({len(self.data)}).\nThis can be caused by a number of issues:"
  
          logger.debug("Alignments count: %s, timestamp count: %s", len(self.data), len(pts_time))
          if len(self.data) != len(pts_time):
              raise FaceswapError(
                "There is a mismatch between the number of frames found in the video file "
                f"({len(pts_time)}) and the number of frames found in the alignments file "
                f"({len(self.data)}).\nThis can be caused by a number of issues:"
                "There is a mismatch between the number of frames found in the video file "
                f"({len(pts_time)}) and the number of frames found in the alignments file "
                f"({len(self.data)}).\nThis can be caused by a number of issues:"
                "There is a mismatch between the number of frames found in the video file "
                f"({len(pts_time)}) and the number of frames found in the alignments file "
                f"({len(self.data)}).\nThis can be caused by a number of issues:"
                  "\n  - The video has a Variable Frame Rate and FFMPEG is having a hard time "
                  "calculating the correct number of frames."
                  "\n  - You are working with a Merged Alignments file. This is not supported for "
                  "your current use case."
                  "\nYou should either extract the video to individual frames, re-encode the "
keep keep keep keep replace replace replace keep keep keep keep keep
 lib.align updates:
  - alignments.py
    - Add typed dicts for imported alignments
    - Explicitly check for presence of thumb value in alignments dict
    - linting
  - detected_face.py
    - Typing
    - Linting
    - Legacy support for pre-aligned face
    - Update dependencies to new property names 
lib/align/alignments.py