          ------
          :class:`numpy.ndarray`
              The processed predicted mask
          """
          blur_type = self._config["type"]
          if blur_type is not None:
              mask = BlurMask(blur_type,
                              mask,
                              self._config["kernel_size"],
                              passes=self._config["passes"]).blurred
 
</s> remove     def set_sub_crop(self, offset, centering):
 </s> add     def set_sub_crop(self,
                     source_offset: np.ndarray,
                     target_offset: np.ndarray,
                     centering: "CenteringType",
                     coverage_ratio: float = 1.0) -> None: </s> remove             mask = self._get_stored_mask(detected_face, centering, sub_crop_offset)
 </s> add             mask = self._get_stored_mask(detected_face, centering, source_offset, target_offset) </s> remove                      "sub_crop_offset: %s, centering: '%s', predicted_mask: %s",
                     detected_face, sub_crop_offset, centering, predicted_mask is not None)
        mask = self._get_mask(detected_face, predicted_mask, centering, sub_crop_offset)
 </s> add                      "source_offset: %s, target_offset: %s, centering: '%s', predicted_mask: %s",
                     detected_face, source_offset, target_offset, centering,
                     predicted_mask is not None)
        mask = self._get_mask(detected_face,
                              predicted_mask,
                              centering,
                              source_offset,
                              target_offset) </s> remove         sub_crop_offset: :class:`numpy.ndarray`
            The (x, y) offset to crop the mask from the center point. Set to `None` if the mask
            does not need to be offset for alternative centering
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering </s> remove         sub_crop_offset: :class:`numpy.ndarray`, optional
            The (x, y) offset to crop the mask from the center point.
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
        blur_type = self._config["type"].lower()
          ------
          :class:`numpy.ndarray`
              The processed predicted mask
          """
        blur_type = self._config["type"].lower()
          if blur_type is not None:
              mask = BlurMask(blur_type,
                              mask,
                              self._config["kernel_size"],
                              passes=self._config["passes"]).blurred
keep keep keep keep replace keep keep keep keep keep
 lib.detected_face.Mask
  - Add source + target offset and coverage to set_sub_crop method 
plugins/convert/mask/mask_blend.py