                       self.__class__.__name__, parent, config_tools, scaling)
          super().__init__(parent)
          self.pack(side=tk.RIGHT, anchor=tk.N, fill=tk.BOTH, expand=True)
          self.config_tools = config_tools
          self.scaling = scaling
  
          self.tabs = dict()
          self.build_tabs()
          self.build_sub_tabs()
          self.add_patch_callback(patch_callback)
 
</s> remove         self.tabs = dict()
        self.build_tabs()
        self.build_sub_tabs()
        self.add_patch_callback(patch_callback)
 </s> add         self._tabs = dict()
        self._build_tabs()
        self._build_sub_tabs()
        self._add_patch_callback(patch_callback) </s> remove         self.config_tools = config_tools
 </s> add         self._config_tools = config_tools </s> remove     """ Convert settings Options Frame """
 </s> add     """ The notebook that holds the Convert configuration options.

    Parameters
    ----------
    parent: tkinter object
        The parent tkinter object that holds the Options book
    config_tools: :class:`ConfigTools`
        Tools for loading and saving configuration files
    patch_callback: python function
        The function to execute when a patch callback is received
    scaling: float
        The scaling factor for display

    Attributes
    ----------
    config_tools: :class:`ConfigTools`
        Tools for loading and saving configuration files
    """ </s> remove         self.options = ["color", "mask_type", "scaling"]
        self.busy_tkvar = tk_vars["busy"]
        self.tk_vars = dict()
 </s> add         self._options = ["color", "mask_type", "scaling"]
        self._busy_tkvar = tk_vars["busy"]
        self._tk_vars = dict() </s> remove         self.add_comboboxes(top_frame, defaults)
        busy_indicator = self.add_busy_indicator(top_frame)
        self.add_refresh_button(top_frame, refresh_callback)
        self.add_patch_callback(patch_callback)
        self.add_actions(bottom_frame)
 </s> add         self._add_cli_choices(top_frame, defaults, available_masks, has_predicted_mask)

        busy_indicator = self._add_busy_indicator(bottom_frame)
        self._add_refresh_button(bottom_frame, refresh_callback)
        self._add_patch_callback(patch_callback)
        self._add_actions(bottom_frame)
        self._scaling = scaling
                       self.__class__.__name__, parent, config_tools, scaling)
          super().__init__(parent)
          self.pack(side=tk.RIGHT, anchor=tk.N, fill=tk.BOTH, expand=True)
          self.config_tools = config_tools
        self._scaling = scaling
  
          self.tabs = dict()
          self.build_tabs()
          self.build_sub_tabs()
          self.add_patch_callback(patch_callback)
keep keep keep keep replace keep keep keep keep keep
 Smart Masks to Convert (#957)

- scripts.convert - Use Smart Masks for Convert
    * Make on-the-fly conversion an explicit option

- Move BlurMask to lib.faces_detect

- tools.preview - Fix for smart masks
    * Subclass from tk.Tk
    * Options to lib.gui.control_helper
    *variable cleanup

- lib.logger - Demote more tensorflow deprecation messages

- Documentation:
    * lib.faces_detect.BlurMask
    * plugins.convert.mask
    * lib.convert
    * scripts.convert
    * scripts.fsmedia
    * tools.preview 
tools/preview.py