@cached_property<EOL><INDENT>def baselevels(self):<DEDENT>
if "<STR_LIT>" not in self._raw:<EOL><INDENT>return {}<EOL><DEDENT>baselevels = self._raw["<STR_LIT>"]<EOL>minmax = {k: v for k, v in baselevels.items() if k in ["<STR_LIT>", "<STR_LIT>"]}<EOL>if not minmax:<EOL><INDENT>raise MapcheteConfigError("<STR_LIT>")<EOL><DEDENT>for v in minmax.values():<EOL><INDENT>if not isinstance(v, int) or v < <NUM_LIT:0>:<EOL><INDENT>raise MapcheteConfigError(<EOL>"<STR_LIT>" % minmax.values()<EOL>)<EOL><DEDENT><DEDENT>zooms = list(range(<EOL>minmax.get("<STR_LIT>", min(self.zoom_levels)),<EOL>minmax.get("<STR_LIT>", max(self.zoom_levels)) + <NUM_LIT:1>)<EOL>)<EOL>if not set(self.zoom_levels).difference(set(zooms)):<EOL><INDENT>raise MapcheteConfigError("<STR_LIT>")<EOL><DEDENT>return dict(<EOL>zooms=zooms,<EOL>lower=baselevels.get("<STR_LIT>", "<STR_LIT>"),<EOL>higher=baselevels.get("<STR_LIT>", "<STR_LIT>"),<EOL>tile_pyramid=BufferedTilePyramid(<EOL>self.output_pyramid.grid,<EOL>pixelbuffer=self.output_pyramid.pixelbuffer,<EOL>metatiling=self.process_pyramid.metatiling<EOL>)<EOL>)<EOL>
Optional baselevels configuration.

baselevels:
    min: <zoom>
    max: <zoom>
    lower: <resampling method>
    higher: <resampling method>