              return False
          logger.debug("Config file exists: '%s'", self.configfile)
          return True
  
      def create_default(self):
          """ Generate a default config if it does not exist """
          logger.debug("Creating default Config")
          for section, items in self.defaults.items():
              logger.debug("Adding section: '%s')", section)
              self.insert_config_section(section, items["helptext"])
 
</s> remove         for section, items in self.defaults.items():
            logger.debug("Adding section: '%s')", section)
            self.insert_config_section(section, items["helptext"])
            for item, opt in items.items():
 </s> add         for name, section in self.defaults.items():
            logger.debug("Adding section: '%s')", name)
            self.insert_config_section(name, section.helptext)
            for item, opt in section.items.items(): </s> remove     def check_exists(self):
        """ Check that a config file exists """
 </s> add     def _check_exists(self) -> bool:
        """ Check that a config file exists

        Returns
        -------
        bool
            ``True`` if the given configuration file exists
        """ </s> remove         for section, items in self.defaults.items():
            self.insert_config_section(section, items["helptext"], new_config)
            for item, opt in items.items():
                if item == "helptext":
                    continue
                if section not in self.config.sections():
                    logger.debug("Adding new config section: '%s'", section)
                    opt_value = opt["default"]
 </s> add         for section_name, section in self.defaults.items():
            self.insert_config_section(section_name, section.helptext, new_config)
            for item, opt in section.items.items():
                if section_name not in self.config.sections():
                    logger.debug("Adding new config section: '%s'", section_name)
                    opt_value = opt.default </s> remove                 if item == "helptext":
                    continue
                self.insert_config_item(section,
                                        item,
                                        opt["default"],
                                        opt)
 </s> add                 self._insert_config_item(name, item, opt.default, opt) </s> remove     def check_config_change(self):
        """ Check whether new default items have been added or removed
            from the config file compared to saved version """
 </s> add     def _check_config_change(self) -> bool:
        """ Check whether new default items have been added or removed from the config file
        compared to saved version

        Returns
        -------
        bool
            ``True`` if a config option has been added or removed
        """
    def _create_default(self) -> None:
              return False
          logger.debug("Config file exists: '%s'", self.configfile)
          return True
  
    def _create_default(self) -> None:
          """ Generate a default config if it does not exist """
          logger.debug("Creating default Config")
          for section, items in self.defaults.items():
              logger.debug("Adding section: '%s')", section)
              self.insert_config_section(section, items["helptext"])
keep keep keep keep replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
lib/config.py