  
  
  class Mask(Adjustment):
      """ Return the requested mask """
      def __init__(self, mask_type, output_size, predicted_available, config=None):
          super().__init__(mask_type, output_size, predicted_available, config)
          self.do_erode = self.config.get("erosion", 0) != 0
          self.do_blend = self.config.get("type", None) is not None
  
      def process(self, detected_face, predicted_mask=None):
          """ Return mask and perform processing """
 
</s> remove                      "predicted_available: %s, config: %s)",
                     self.__class__.__name__, mask_type, output_size, predicted_available, config)
        self.config = self.set_config(config)
 </s> add                      "predicted_available: %s, configfile: %s, config: %s)",
                     self.__class__.__name__, mask_type, output_size, predicted_available,
                     configfile, config)
        self.config = self.set_config(configfile, config) </s> remove     def __init__(self, mask_type, output_size, predicted_available=False, config=None):
        super().__init__(mask_type, output_size, predicted_available, config)
 </s> add     def __init__(self, mask_type, output_size, predicted_available=False, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs) </s> remove     def __init__(self, mask_type, output_size, predicted_available, config=None):
 </s> add     def __init__(self, mask_type, output_size, predicted_available, configfile=None, config=None): </s> remove     return Config(plugin_name).config_dict
 </s> add     return Config(plugin_name, configfile=configfile).config_dict </s> remove                 disable_logging=disable_logging)(config=config)
 </s> add                 disable_logging=disable_logging)(configfile=self.configfile, config=config)
    def __init__(self, mask_type, output_size, predicted_available, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
  
  
  class Mask(Adjustment):
      """ Return the requested mask """
    def __init__(self, mask_type, output_size, predicted_available, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
    def __init__(self, mask_type, output_size, predicted_available, **kwargs):
        super().__init__(mask_type, output_size, predicted_available, **kwargs)
          self.do_erode = self.config.get("erosion", 0) != 0
          self.do_blend = self.config.get("type", None) is not None
  
      def process(self, detected_face, predicted_mask=None):
          """ Return mask and perform processing """
keep keep keep keep replace replace keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
plugins/convert/mask/mask_blend.py