          self._dtype = dtype
          self._is_aligned = is_aligned
          self._matrices = dict(legacy=_umeyama(landmarks[17:], _MEAN_FACE, True)[0:2],
                                face=np.array([]),
                                head=np.array([]))
          self._padding = self._padding_from_coverage(size, coverage_ratio)
  
 
</s> remove                               face=None,
                              head=None)
 </s> add                               face=np.array([]),
                              head=np.array([])) </s> remove         self._cache = self._set_cache()
 </s> add         self._cache = _FaceCache() </s> remove     def __init__(self, landmarks, image=None, centering="face", size=64, coverage_ratio=1.0,
                 dtype=None, is_aligned=False):
        logger.trace("Initializing: %s (image shape: %s, centering: '%s', size: %s, "
                     "coverage_ratio: %s, dtype: %s, is_aligned: %s)", self.__class__.__name__,
                     image if image is None else image.shape, centering, size, coverage_ratio,
                     dtype, is_aligned)
 </s> add     def __init__(self,
                 landmarks: np.ndarray,
                 image: Optional[np.ndarray] = None,
                 centering: CenteringType = "face",
                 size: int = 64,
                 coverage_ratio: float = 1.0,
                 dtype: Optional[str] = None,
                 is_aligned: bool = False,
                 is_legacy: bool = False) -> None:
        logger.trace("Initializing: %s (image shape: %s, centering: '%s', "  # type: ignore
                     "size: %s, coverage_ratio: %s, dtype: %s, is_aligned: %s, is_legacy: %s)",
                     self.__class__.__name__, image if image is None else image.shape,
                     centering, size, coverage_ratio, dtype, is_aligned, is_legacy) </s> remove         if self._is_aligned and self._centering != "head":  # Crop out the sub face from full head
 </s> add         if self._is_aligned and (self._centering != self._source_centering or
                                 self._coverage_ratio != 1.0):
            # Crop out the sub face from full head
        self._source_centering: CenteringType = "legacy" if is_legacy and is_aligned else "head"
          self._dtype = dtype
          self._is_aligned = is_aligned
        self._source_centering: CenteringType = "legacy" if is_legacy and is_aligned else "head"
          self._matrices = dict(legacy=_umeyama(landmarks[17:], _MEAN_FACE, True)[0:2],
                                face=np.array([]),
                                head=np.array([]))
          self._padding = self._padding_from_coverage(size, coverage_ratio)
  
keep add keep keep keep keep keep
 lib.align.aligned_face updates
  - Typing
  - Legacy support for pre-aligned faces
  - Coverage support for pre-aligned faces
  - Standardized retrieval of sub-crops 
lib/align/aligned_face.py