# Path: mako/exceptions.py
# class MakoException(Exception):
# class RuntimeException(MakoException):
# class CompileException(MakoException):
# class SyntaxException(MakoException):
# class UnsupportedError(MakoException):
# class NameConflictError(MakoException):
# class TemplateLookupException(MakoException):
# class TopLevelLookupException(TemplateLookupException):
# class RichTraceback:
# def _format_filepos(lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, error=None, traceback=None):
#     def errorname(self):
#     def _init_message(self):
#     def _get_reformatted_records(self, records):
#     def traceback(self):
#     def reverse_records(self):
#     def reverse_traceback(self):
#     def _init(self, trcback):
# def text_error_template(lookup=None):
# def _install_pygments():
# def _install_fallback():
#     def syntax_highlight(filename="", language=None):
# def _install_highlighting():
# def html_error_template():
# 
# Path: mako/pyparser.py
# def parse(code, mode="exec", **exception_kwargs):
#     def __init__(self, listener, **exception_kwargs):
#     def _add_declared(self, name):
#     def visit_ClassDef(self, node):
#     def visit_Assign(self, node):
#     def visit_ExceptHandler(self, node):
#     def visit_Lambda(self, node, *args):
#     def visit_FunctionDef(self, node):
#     def _expand_tuples(self, args):
#     def _visit_function(self, node, islambda):
#     def visit_For(self, node):
#     def visit_Name(self, node):
#     def visit_Import(self, node):
#     def visit_ImportFrom(self, node):
#     def __init__(self, listener, code_factory, **exception_kwargs):
#     def visit_Tuple(self, node):
#     def __init__(self, listener, **exception_kwargs):
#     def visit_FunctionDef(self, node):
#     def __init__(self, astnode):
#     def value(self):
# class FindIdentifiers(_ast_util.NodeVisitor):
# class FindTuple(_ast_util.NodeVisitor):
# class ParseFunc(_ast_util.NodeVisitor):
# class ExpressionGenerator:


import re
from mako import exceptions
from mako import pyparser
            )
        if m.group(3):
            code = code[: m.start(3)]
        (keyword, expr) = m.group(1, 2)
        if keyword in ["for", "if", "while"]:
            code = code + "pass"
        elif keyword == "try":
            code = code + "pass\nexcept:pass"
        elif keyword in ["elif", "else"]:
            code = "if False:pass\n" + code + "pass"
        elif keyword == "except":
            code = "try:pass\n" + code + "pass"
        elif keyword == "with":
            code = code + "pass"
        else:
            raise exceptions.CompileException(
                "Unsupported control keyword: '%s'" % keyword,
                **exception_kwargs,
            )
        super().__init__(code, **exception_kwargs)


class FunctionDecl:

    """function declaration"""

    def __init__(self, code, allow_kwargs=True, **exception_kwargs):
        self.code = code
        expr = pyparser.parse(code, "exec", **exception_kwargs)


# Path: mako/exceptions.py
# class MakoException(Exception):
# class RuntimeException(MakoException):
# class CompileException(MakoException):
# class SyntaxException(MakoException):
# class UnsupportedError(MakoException):
# class NameConflictError(MakoException):
# class TemplateLookupException(MakoException):
# class TopLevelLookupException(TemplateLookupException):
# class RichTraceback:
# def _format_filepos(lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, message, source, lineno, pos, filename):
#     def __init__(self, error=None, traceback=None):
#     def errorname(self):
#     def _init_message(self):
#     def _get_reformatted_records(self, records):
#     def traceback(self):
#     def reverse_records(self):
#     def reverse_traceback(self):
#     def _init(self, trcback):
# def text_error_template(lookup=None):
# def _install_pygments():
# def _install_fallback():
#     def syntax_highlight(filename="", language=None):
# def _install_highlighting():
# def html_error_template():
# 
# Path: mako/pyparser.py
# def parse(code, mode="exec", **exception_kwargs):
#     def __init__(self, listener, **exception_kwargs):
#     def _add_declared(self, name):
#     def visit_ClassDef(self, node):
#     def visit_Assign(self, node):
#     def visit_ExceptHandler(self, node):
#     def visit_Lambda(self, node, *args):
#     def visit_FunctionDef(self, node):
#     def _expand_tuples(self, args):
#     def _visit_function(self, node, islambda):
#     def visit_For(self, node):
#     def visit_Name(self, node):
#     def visit_Import(self, node):
#     def visit_ImportFrom(self, node):
#     def __init__(self, listener, code_factory, **exception_kwargs):
#     def visit_Tuple(self, node):
#     def __init__(self, listener, **exception_kwargs):
#     def visit_FunctionDef(self, node):
#     def __init__(self, astnode):
#     def value(self):
# class FindIdentifiers(_ast_util.NodeVisitor):
# class FindTuple(_ast_util.NodeVisitor):
# class ParseFunc(_ast_util.NodeVisitor):
# class ExpressionGenerator:


# Path: mako/ast.py
import re
from mako import exceptions
from mako import pyparser

            )
        if m.group(3):
            code = code[: m.start(3)]
        (keyword, expr) = m.group(1, 2)
        if keyword in ["for", "if", "while"]:
            code = code + "pass"
        elif keyword == "try":
            code = code + "pass\nexcept:pass"
        elif keyword in ["elif", "else"]:
            code = "if False:pass\n" + code + "pass"
        elif keyword == "except":
            code = "try:pass\n" + code + "pass"
        elif keyword == "with":
            code = code + "pass"
        else:
            raise exceptions.CompileException(
                "Unsupported control keyword: '%s'" % keyword,
                **exception_kwargs,
            )
        super().__init__(code, **exception_kwargs)


class FunctionDecl:

    """function declaration"""

    def __init__(self, code, allow_kwargs=True, **exception_kwargs):
        self.code = code
        expr = pyparser.parse(code, "exec", **exception_kwargs)


        f = pyparser.ParseFunc(self, **exception_kwargs)