  from lib.face_filter import FaceFilter as FilterFunc
  from lib.image import count_frames, read_image
  from lib.utils import (camel_case_split, get_image_paths, _video_extensions)
  
  if sys.version_info < (3, 8):
      from typing_extensions import get_args, Literal
  else:
      from typing import get_args, Literal
  
  if TYPE_CHECKING:
      from argparse import Namespace
      from lib.align import AlignedFace
      from plugins.extract.pipeline import ExtractMedia
  
 
</s> remove from lib.face_filter import FaceFilter as FilterFunc
 </s> add  </s> remove from lib.align import AlignedFace
 </s> add from lib.align import AlignedFace, DetectedFace
from lib.image import read_image_meta </s> remove from lib.image import encode_image, generate_thumbnail, ImagesLoader, ImagesSaver
 </s> add from lib.image import encode_image, generate_thumbnail, ImagesLoader, ImagesSaver, read_image_meta
  from lib.face_filter import FaceFilter as FilterFunc
  from lib.image import count_frames, read_image
  from lib.utils import (camel_case_split, get_image_paths, _video_extensions)
  





  if TYPE_CHECKING:
      from argparse import Namespace
      from lib.align import AlignedFace
      from plugins.extract.pipeline import ExtractMedia
  
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 Update Face Filter
  - Remove old face filter
  - plugins.extract.pipeline: Expose plugins directly
  - Change `is_aligned` from plugin level to ExtractMedia level
  - Allow extract pipeline to take faceswap aligned images
  - Add ability for recognition plugins to accept aligned faces as input
  - Add face filter to recognition plugin
  - Move extractor pipeline IO ops to own class 
scripts/fsmedia.py