changeset 6097:815981fad7fd

upgrade pygments from 1.6 to 2.1.3
author Thomas Waldmann <tw AT waldmann-edv DOT de>
date Mon, 05 Sep 2016 23:55:33 +0200
parents 86a41c2bedec
children 83b1bc99457c
files MoinMoin/support/pygments/__init__.py MoinMoin/support/pygments/cmdline.py MoinMoin/support/pygments/console.py MoinMoin/support/pygments/filter.py MoinMoin/support/pygments/filters/__init__.py MoinMoin/support/pygments/formatter.py MoinMoin/support/pygments/formatters/__init__.py MoinMoin/support/pygments/formatters/_mapping.py MoinMoin/support/pygments/formatters/bbcode.py MoinMoin/support/pygments/formatters/html.py MoinMoin/support/pygments/formatters/img.py MoinMoin/support/pygments/formatters/irc.py MoinMoin/support/pygments/formatters/latex.py MoinMoin/support/pygments/formatters/other.py MoinMoin/support/pygments/formatters/rtf.py MoinMoin/support/pygments/formatters/svg.py MoinMoin/support/pygments/formatters/terminal.py MoinMoin/support/pygments/formatters/terminal256.py MoinMoin/support/pygments/lexer.py MoinMoin/support/pygments/lexers/__init__.py MoinMoin/support/pygments/lexers/_asy_builtins.py MoinMoin/support/pygments/lexers/_asybuiltins.py MoinMoin/support/pygments/lexers/_cl_builtins.py MoinMoin/support/pygments/lexers/_clbuiltins.py MoinMoin/support/pygments/lexers/_cocoa_builtins.py MoinMoin/support/pygments/lexers/_csound_builtins.py MoinMoin/support/pygments/lexers/_lasso_builtins.py MoinMoin/support/pygments/lexers/_lassobuiltins.py MoinMoin/support/pygments/lexers/_lua_builtins.py MoinMoin/support/pygments/lexers/_luabuiltins.py MoinMoin/support/pygments/lexers/_mapping.py MoinMoin/support/pygments/lexers/_mql_builtins.py MoinMoin/support/pygments/lexers/_openedge_builtins.py MoinMoin/support/pygments/lexers/_openedgebuiltins.py MoinMoin/support/pygments/lexers/_php_builtins.py MoinMoin/support/pygments/lexers/_phpbuiltins.py MoinMoin/support/pygments/lexers/_postgres_builtins.py MoinMoin/support/pygments/lexers/_robotframeworklexer.py MoinMoin/support/pygments/lexers/_scilab_builtins.py MoinMoin/support/pygments/lexers/_sourcemod_builtins.py MoinMoin/support/pygments/lexers/_sourcemodbuiltins.py MoinMoin/support/pygments/lexers/_stan_builtins.py MoinMoin/support/pygments/lexers/_vim_builtins.py MoinMoin/support/pygments/lexers/_vimbuiltins.py MoinMoin/support/pygments/lexers/actionscript.py MoinMoin/support/pygments/lexers/agile.py MoinMoin/support/pygments/lexers/algebra.py MoinMoin/support/pygments/lexers/ambient.py MoinMoin/support/pygments/lexers/apl.py MoinMoin/support/pygments/lexers/archetype.py MoinMoin/support/pygments/lexers/asm.py MoinMoin/support/pygments/lexers/automation.py MoinMoin/support/pygments/lexers/basic.py MoinMoin/support/pygments/lexers/business.py MoinMoin/support/pygments/lexers/c_cpp.py MoinMoin/support/pygments/lexers/c_like.py MoinMoin/support/pygments/lexers/chapel.py MoinMoin/support/pygments/lexers/compiled.py MoinMoin/support/pygments/lexers/configs.py MoinMoin/support/pygments/lexers/console.py MoinMoin/support/pygments/lexers/csound.py MoinMoin/support/pygments/lexers/css.py MoinMoin/support/pygments/lexers/d.py MoinMoin/support/pygments/lexers/dalvik.py MoinMoin/support/pygments/lexers/data.py MoinMoin/support/pygments/lexers/diff.py MoinMoin/support/pygments/lexers/dotnet.py MoinMoin/support/pygments/lexers/dsls.py MoinMoin/support/pygments/lexers/dylan.py MoinMoin/support/pygments/lexers/ecl.py MoinMoin/support/pygments/lexers/eiffel.py MoinMoin/support/pygments/lexers/elm.py MoinMoin/support/pygments/lexers/erlang.py MoinMoin/support/pygments/lexers/esoteric.py MoinMoin/support/pygments/lexers/ezhil.py MoinMoin/support/pygments/lexers/factor.py MoinMoin/support/pygments/lexers/fantom.py MoinMoin/support/pygments/lexers/felix.py MoinMoin/support/pygments/lexers/fortran.py MoinMoin/support/pygments/lexers/foxpro.py MoinMoin/support/pygments/lexers/functional.py MoinMoin/support/pygments/lexers/go.py MoinMoin/support/pygments/lexers/grammar_notation.py MoinMoin/support/pygments/lexers/graph.py MoinMoin/support/pygments/lexers/graphics.py MoinMoin/support/pygments/lexers/haskell.py MoinMoin/support/pygments/lexers/haxe.py MoinMoin/support/pygments/lexers/hdl.py MoinMoin/support/pygments/lexers/hexdump.py MoinMoin/support/pygments/lexers/html.py MoinMoin/support/pygments/lexers/idl.py MoinMoin/support/pygments/lexers/igor.py MoinMoin/support/pygments/lexers/inferno.py MoinMoin/support/pygments/lexers/installers.py MoinMoin/support/pygments/lexers/int_fiction.py MoinMoin/support/pygments/lexers/iolang.py MoinMoin/support/pygments/lexers/j.py MoinMoin/support/pygments/lexers/javascript.py MoinMoin/support/pygments/lexers/julia.py MoinMoin/support/pygments/lexers/jvm.py MoinMoin/support/pygments/lexers/lisp.py MoinMoin/support/pygments/lexers/make.py MoinMoin/support/pygments/lexers/markup.py MoinMoin/support/pygments/lexers/math.py MoinMoin/support/pygments/lexers/matlab.py MoinMoin/support/pygments/lexers/ml.py MoinMoin/support/pygments/lexers/modeling.py MoinMoin/support/pygments/lexers/modula2.py MoinMoin/support/pygments/lexers/nimrod.py MoinMoin/support/pygments/lexers/nit.py MoinMoin/support/pygments/lexers/nix.py MoinMoin/support/pygments/lexers/oberon.py MoinMoin/support/pygments/lexers/objective.py MoinMoin/support/pygments/lexers/ooc.py MoinMoin/support/pygments/lexers/other.py MoinMoin/support/pygments/lexers/parasail.py MoinMoin/support/pygments/lexers/parsers.py MoinMoin/support/pygments/lexers/pascal.py MoinMoin/support/pygments/lexers/pawn.py MoinMoin/support/pygments/lexers/perl.py MoinMoin/support/pygments/lexers/php.py MoinMoin/support/pygments/lexers/praat.py MoinMoin/support/pygments/lexers/prolog.py MoinMoin/support/pygments/lexers/python.py MoinMoin/support/pygments/lexers/qvt.py MoinMoin/support/pygments/lexers/r.py MoinMoin/support/pygments/lexers/rdf.py MoinMoin/support/pygments/lexers/rebol.py MoinMoin/support/pygments/lexers/resource.py MoinMoin/support/pygments/lexers/roboconf.py MoinMoin/support/pygments/lexers/robotframework.py MoinMoin/support/pygments/lexers/ruby.py MoinMoin/support/pygments/lexers/rust.py MoinMoin/support/pygments/lexers/scripting.py MoinMoin/support/pygments/lexers/shell.py MoinMoin/support/pygments/lexers/smalltalk.py MoinMoin/support/pygments/lexers/snobol.py MoinMoin/support/pygments/lexers/special.py MoinMoin/support/pygments/lexers/sql.py MoinMoin/support/pygments/lexers/supercollider.py MoinMoin/support/pygments/lexers/tcl.py MoinMoin/support/pygments/lexers/templates.py MoinMoin/support/pygments/lexers/testing.py MoinMoin/support/pygments/lexers/text.py MoinMoin/support/pygments/lexers/textedit.py MoinMoin/support/pygments/lexers/textfmts.py MoinMoin/support/pygments/lexers/theorem.py MoinMoin/support/pygments/lexers/trafficscript.py MoinMoin/support/pygments/lexers/urbi.py MoinMoin/support/pygments/lexers/web.py MoinMoin/support/pygments/lexers/webmisc.py MoinMoin/support/pygments/lexers/x10.py MoinMoin/support/pygments/modeline.py MoinMoin/support/pygments/plugin.py MoinMoin/support/pygments/regexopt.py MoinMoin/support/pygments/scanner.py MoinMoin/support/pygments/sphinxext.py MoinMoin/support/pygments/style.py MoinMoin/support/pygments/styles/__init__.py MoinMoin/support/pygments/styles/algol.py MoinMoin/support/pygments/styles/algol_nu.py MoinMoin/support/pygments/styles/arduino.py MoinMoin/support/pygments/styles/autumn.py MoinMoin/support/pygments/styles/borland.py MoinMoin/support/pygments/styles/bw.py MoinMoin/support/pygments/styles/colorful.py MoinMoin/support/pygments/styles/default.py MoinMoin/support/pygments/styles/emacs.py MoinMoin/support/pygments/styles/friendly.py MoinMoin/support/pygments/styles/fruity.py MoinMoin/support/pygments/styles/igor.py MoinMoin/support/pygments/styles/lovelace.py MoinMoin/support/pygments/styles/manni.py MoinMoin/support/pygments/styles/monokai.py MoinMoin/support/pygments/styles/murphy.py MoinMoin/support/pygments/styles/native.py MoinMoin/support/pygments/styles/paraiso_dark.py MoinMoin/support/pygments/styles/paraiso_light.py MoinMoin/support/pygments/styles/pastie.py MoinMoin/support/pygments/styles/perldoc.py MoinMoin/support/pygments/styles/rrt.py MoinMoin/support/pygments/styles/tango.py MoinMoin/support/pygments/styles/trac.py MoinMoin/support/pygments/styles/vim.py MoinMoin/support/pygments/styles/vs.py MoinMoin/support/pygments/styles/xcode.py MoinMoin/support/pygments/token.py MoinMoin/support/pygments/unistring.py MoinMoin/support/pygments/util.py
diffstat 189 files changed, 64634 insertions(+), 34566 deletions(-) [+]
line wrap: on
line diff
--- a/MoinMoin/support/pygments/__init__.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/__init__.py	Mon Sep 05 23:55:33 2016 +0200
@@ -22,11 +22,11 @@
     .. _Pygments tip:
        http://bitbucket.org/birkenfeld/pygments-main/get/tip.zip#egg=Pygments-dev
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
-__version__ = '1.6'
+__version__ = '2.1.3'
 __docformat__ = 'restructuredtext'
 
 __all__ = ['lex', 'format', 'highlight']
@@ -43,15 +43,16 @@
     """
     try:
         return lexer.get_tokens(code)
-    except TypeError, err:
+    except TypeError as err:
         if isinstance(err.args[0], str) and \
-           'unbound method get_tokens' in err.args[0]:
+           ('unbound method get_tokens' in err.args[0] or
+            'missing 1 required positional argument' in err.args[0]):
             raise TypeError('lex() argument must be a lexer instance, '
                             'not a class')
         raise
 
 
-def format(tokens, formatter, outfile=None):
+def format(tokens, formatter, outfile=None):  # pylint: disable=redefined-builtin
     """
     Format a tokenlist ``tokens`` with the formatter ``formatter``.
 
@@ -61,15 +62,15 @@
     """
     try:
         if not outfile:
-            #print formatter, 'using', formatter.encoding
-            realoutfile = formatter.encoding and BytesIO() or StringIO()
+            realoutfile = getattr(formatter, 'encoding', None) and BytesIO() or StringIO()
             formatter.format(tokens, realoutfile)
             return realoutfile.getvalue()
         else:
             formatter.format(tokens, outfile)
-    except TypeError, err:
+    except TypeError as err:
         if isinstance(err.args[0], str) and \
-           'unbound method format' in err.args[0]:
+           ('unbound method format' in err.args[0] or
+            'missing 1 required positional argument' in err.args[0]):
             raise TypeError('format() argument must be a formatter instance, '
                             'not a class')
         raise
@@ -86,6 +87,6 @@
     return format(lex(code, lexer), formatter, outfile)
 
 
-if __name__ == '__main__':
+if __name__ == '__main__':  # pragma: no cover
     from pygments.cmdline import main
     sys.exit(main(sys.argv))
--- a/MoinMoin/support/pygments/cmdline.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/cmdline.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,27 +5,33 @@
 
     Command line interface.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
+
+from __future__ import print_function
+
 import sys
 import getopt
 from textwrap import dedent
 
 from pygments import __version__, highlight
-from pygments.util import ClassNotFound, OptionError, docstring_headline
-from pygments.lexers import get_all_lexers, get_lexer_by_name, get_lexer_for_filename, \
-     find_lexer_class, guess_lexer, TextLexer
+from pygments.util import ClassNotFound, OptionError, docstring_headline, \
+    guess_decode, guess_decode_from_terminal, terminal_encoding
+from pygments.lexers import get_all_lexers, get_lexer_by_name, guess_lexer, \
+    get_lexer_for_filename, find_lexer_class_for_filename
+from pygments.lexers.special import TextLexer
+from pygments.formatters.latex import LatexEmbeddedLexer, LatexFormatter
 from pygments.formatters import get_all_formatters, get_formatter_by_name, \
-     get_formatter_for_filename, find_formatter_class, \
-     TerminalFormatter  # pylint:disable-msg=E0611
+    get_formatter_for_filename, find_formatter_class
+from pygments.formatters.terminal import TerminalFormatter
 from pygments.filters import get_all_filters, find_filter_class
 from pygments.styles import get_all_styles, get_style_by_name
 
 
 USAGE = """\
 Usage: %s [-l <lexer> | -g] [-F <filter>[:<options>]] [-f <formatter>]
-          [-O <options>] [-P <option=value>] [-o <outfile>] [<infile>]
+          [-O <options>] [-P <option=value>] [-s] [-v] [-o <outfile>] [<infile>]
 
        %s -S <style> -f <formatter> [-a <arg>] [-O <options>] [-P <option=value>]
        %s -L [<which> ...]
@@ -37,6 +43,10 @@
 
 If no input file is given, use stdin, if -o is not given, use stdout.
 
+If -s is passed, lexing will be done in "streaming" mode, reading and
+highlighting one line at a time.  This will only work properly with
+lexers that have no constructs spanning multiple lines!
+
 <lexer> is a lexer name (query all lexer names with -L). If -l is not
 given, the lexer is guessed from the extension of the input file name
 (this obviously doesn't work if the input is stdin).  If -g is passed,
@@ -76,6 +86,14 @@
 The -H option prints detailed help for the object <name> of type <type>,
 where <type> is one of "lexer", "formatter" or "filter".
 
+The -s option processes lines one at a time until EOF, rather than
+waiting to process the entire file.  This only works for stdin, and
+is intended for streaming input such as you get from 'tail -f'.
+Example usage: "tail -f sql.log | pygmentize -s -l sql"
+
+The -v option prints a detailed traceback on unhandled exceptions,
+which is useful for debugging and bug reports.
+
 The -h option prints this help.
 The -V option prints the package version.
 """
@@ -86,13 +104,13 @@
     if not o_strs:
         return opts
     for o_str in o_strs:
-        if not o_str:
+        if not o_str.strip():
             continue
         o_args = o_str.split(',')
         for o_arg in o_args:
             o_arg = o_arg.strip()
             try:
-                o_key, o_val = o_arg.split('=')
+                o_key, o_val = o_arg.split('=', 1)
                 o_key = o_key.strip()
                 o_val = o_val.strip()
             except ValueError:
@@ -118,26 +136,28 @@
 def _print_help(what, name):
     try:
         if what == 'lexer':
-            cls = find_lexer_class(name)
-            print "Help on the %s lexer:" % cls.name
-            print dedent(cls.__doc__)
+            cls = get_lexer_by_name(name)
+            print("Help on the %s lexer:" % cls.name)
+            print(dedent(cls.__doc__))
         elif what == 'formatter':
             cls = find_formatter_class(name)
-            print "Help on the %s formatter:" % cls.name
-            print dedent(cls.__doc__)
+            print("Help on the %s formatter:" % cls.name)
+            print(dedent(cls.__doc__))
         elif what == 'filter':
             cls = find_filter_class(name)
-            print "Help on the %s filter:" % name
-            print dedent(cls.__doc__)
-    except AttributeError:
-        print >>sys.stderr, "%s not found!" % what
+            print("Help on the %s filter:" % name)
+            print(dedent(cls.__doc__))
+        return 0
+    except (AttributeError, ValueError):
+        print("%s not found!" % what, file=sys.stderr)
+        return 1
 
 
 def _print_list(what):
     if what == 'lexer':
-        print
-        print "Lexers:"
-        print "~~~~~~~"
+        print()
+        print("Lexers:")
+        print("~~~~~~~")
 
         info = []
         for fullname, names, exts, _ in get_all_lexers():
@@ -146,12 +166,12 @@
             info.append(tup)
         info.sort()
         for i in info:
-            print ('* %s\n    %s %s') % i
+            print(('* %s\n    %s %s') % i)
 
     elif what == 'formatter':
-        print
-        print "Formatters:"
-        print "~~~~~~~~~~~"
+        print()
+        print("Formatters:")
+        print("~~~~~~~~~~~")
 
         info = []
         for cls in get_all_formatters():
@@ -161,50 +181,30 @@
             info.append(tup)
         info.sort()
         for i in info:
-            print ('* %s\n    %s %s') % i
+            print(('* %s\n    %s %s') % i)
 
     elif what == 'filter':
-        print
-        print "Filters:"
-        print "~~~~~~~~"
+        print()
+        print("Filters:")
+        print("~~~~~~~~")
 
         for name in get_all_filters():
             cls = find_filter_class(name)
-            print "* " + name + ':'
-            print "    %s" % docstring_headline(cls)
+            print("* " + name + ':')
+            print("    %s" % docstring_headline(cls))
 
     elif what == 'style':
-        print
-        print "Styles:"
-        print "~~~~~~~"
+        print()
+        print("Styles:")
+        print("~~~~~~~")
 
         for name in get_all_styles():
             cls = get_style_by_name(name)
-            print "* " + name + ':'
-            print "    %s" % docstring_headline(cls)
+            print("* " + name + ':')
+            print("    %s" % docstring_headline(cls))
 
 
-def main(args=sys.argv):
-    """
-    Main command line entry point.
-    """
-    # pylint: disable-msg=R0911,R0912,R0915
-
-    usage = USAGE % ((args[0],) * 6)
-
-    if sys.platform in ['win32', 'cygwin']:
-        try:
-            # Provide coloring under Windows, if possible
-            import colorama
-            colorama.init()
-        except ImportError:
-            pass
-
-    try:
-        popts, args = getopt.getopt(args[1:], "l:f:F:o:O:P:LS:a:N:hVHg")
-    except getopt.GetoptError, err:
-        print >>sys.stderr, usage
-        return 2
+def main_inner(popts, args, usage):
     opts = {}
     O_opts = []
     P_opts = []
@@ -218,23 +218,19 @@
             F_opts.append(arg)
         opts[opt] = arg
 
-    if not opts and not args:
-        print usage
-        return 0
-
     if opts.pop('-h', None) is not None:
-        print usage
+        print(usage)
         return 0
 
     if opts.pop('-V', None) is not None:
-        print 'Pygments version %s, (c) 2006-2013 by Georg Brandl.' % __version__
+        print('Pygments version %s, (c) 2006-2015 by Georg Brandl.' % __version__)
         return 0
 
     # handle ``pygmentize -L``
     L_opt = opts.pop('-L', None)
     if L_opt is not None:
         if opts:
-            print >>sys.stderr, usage
+            print(usage, file=sys.stderr)
             return 2
 
         # print version
@@ -249,16 +245,15 @@
     H_opt = opts.pop('-H', None)
     if H_opt is not None:
         if opts or len(args) != 2:
-            print >>sys.stderr, usage
+            print(usage, file=sys.stderr)
             return 2
 
-        what, name = args
+        what, name = args  # pylint: disable=unbalanced-tuple-unpacking
         if what not in ('lexer', 'formatter', 'filter'):
-            print >>sys.stderr, usage
+            print(usage, file=sys.stderr)
             return 2
 
-        _print_help(what, name)
-        return 0
+        return _print_help(what, name)
 
     # parse -O options
     parsed_opts = _parse_options(O_opts)
@@ -274,18 +269,18 @@
             parsed_opts[name] = value
     opts.pop('-P', None)
 
+    # encodings
+    inencoding = parsed_opts.get('inencoding', parsed_opts.get('encoding'))
+    outencoding = parsed_opts.get('outencoding', parsed_opts.get('encoding'))
+
     # handle ``pygmentize -N``
     infn = opts.pop('-N', None)
     if infn is not None:
-        try:
-            lexer = get_lexer_for_filename(infn, **parsed_opts)
-        except ClassNotFound, err:
-            lexer = TextLexer()
-        except OptionError, err:
-            print >>sys.stderr, 'Error:', err
-            return 1
+        lexer = find_lexer_class_for_filename(infn)
+        if lexer is None:
+            lexer = TextLexer
 
-        print lexer.aliases[0]
+        print(lexer.aliases[0])
         return 0
 
     # handle ``pygmentize -S``
@@ -294,148 +289,241 @@
     if S_opt is not None:
         f_opt = opts.pop('-f', None)
         if not f_opt:
-            print >>sys.stderr, usage
+            print(usage, file=sys.stderr)
             return 2
         if opts or args:
-            print >>sys.stderr, usage
+            print(usage, file=sys.stderr)
             return 2
 
         try:
             parsed_opts['style'] = S_opt
             fmter = get_formatter_by_name(f_opt, **parsed_opts)
-        except ClassNotFound, err:
-            print >>sys.stderr, err
+        except ClassNotFound as err:
+            print(err, file=sys.stderr)
             return 1
 
-        arg = a_opt or ''
-        try:
-            print fmter.get_style_defs(arg)
-        except Exception, err:
-            print >>sys.stderr, 'Error:', err
-            return 1
+        print(fmter.get_style_defs(a_opt or ''))
         return 0
 
     # if no -S is given, -a is not allowed
     if a_opt is not None:
-        print >>sys.stderr, usage
+        print(usage, file=sys.stderr)
         return 2
 
     # parse -F options
     F_opts = _parse_filters(F_opts)
     opts.pop('-F', None)
 
+    # select lexer
+    lexer = None
+
+    # given by name?
+    lexername = opts.pop('-l', None)
+    if lexername:
+        try:
+            lexer = get_lexer_by_name(lexername, **parsed_opts)
+        except (OptionError, ClassNotFound) as err:
+            print('Error:', err, file=sys.stderr)
+            return 1
+
+    # read input code
+    code = None
+
+    if args:
+        if len(args) > 1:
+            print(usage, file=sys.stderr)
+            return 2
+
+        if '-s' in opts:
+            print('Error: -s option not usable when input file specified',
+                  file=sys.stderr)
+            return 2
+
+        infn = args[0]
+        try:
+            with open(infn, 'rb') as infp:
+                code = infp.read()
+        except Exception as err:
+            print('Error: cannot read infile:', err, file=sys.stderr)
+            return 1
+        if not inencoding:
+            code, inencoding = guess_decode(code)
+
+        # do we have to guess the lexer?
+        if not lexer:
+            try:
+                lexer = get_lexer_for_filename(infn, code, **parsed_opts)
+            except ClassNotFound as err:
+                if '-g' in opts:
+                    try:
+                        lexer = guess_lexer(code, **parsed_opts)
+                    except ClassNotFound:
+                        lexer = TextLexer(**parsed_opts)
+                else:
+                    print('Error:', err, file=sys.stderr)
+                    return 1
+            except OptionError as err:
+                print('Error:', err, file=sys.stderr)
+                return 1
+
+    elif '-s' not in opts:  # treat stdin as full file (-s support is later)
+        # read code from terminal, always in binary mode since we want to
+        # decode ourselves and be tolerant with it
+        if sys.version_info > (3,):
+            # Python 3: we have to use .buffer to get a binary stream
+            code = sys.stdin.buffer.read()
+        else:
+            code = sys.stdin.read()
+        if not inencoding:
+            code, inencoding = guess_decode_from_terminal(code, sys.stdin)
+            # else the lexer will do the decoding
+        if not lexer:
+            try:
+                lexer = guess_lexer(code, **parsed_opts)
+            except ClassNotFound:
+                lexer = TextLexer(**parsed_opts)
+
+    else:  # -s option needs a lexer with -l
+        if not lexer:
+            print('Error: when using -s a lexer has to be selected with -l',
+                  file=sys.stderr)
+            return 2
+
+    # process filters
+    for fname, fopts in F_opts:
+        try:
+            lexer.add_filter(fname, **fopts)
+        except ClassNotFound as err:
+            print('Error:', err, file=sys.stderr)
+            return 1
+
     # select formatter
     outfn = opts.pop('-o', None)
     fmter = opts.pop('-f', None)
     if fmter:
         try:
             fmter = get_formatter_by_name(fmter, **parsed_opts)
-        except (OptionError, ClassNotFound), err:
-            print >>sys.stderr, 'Error:', err
+        except (OptionError, ClassNotFound) as err:
+            print('Error:', err, file=sys.stderr)
             return 1
 
     if outfn:
         if not fmter:
             try:
                 fmter = get_formatter_for_filename(outfn, **parsed_opts)
-            except (OptionError, ClassNotFound), err:
-                print >>sys.stderr, 'Error:', err
+            except (OptionError, ClassNotFound) as err:
+                print('Error:', err, file=sys.stderr)
                 return 1
         try:
             outfile = open(outfn, 'wb')
-        except Exception, err:
-            print >>sys.stderr, 'Error: cannot open outfile:', err
+        except Exception as err:
+            print('Error: cannot open outfile:', err, file=sys.stderr)
             return 1
     else:
         if not fmter:
             fmter = TerminalFormatter(**parsed_opts)
-        outfile = sys.stdout
-
-    # select lexer
-    lexer = opts.pop('-l', None)
-    if lexer:
-        try:
-            lexer = get_lexer_by_name(lexer, **parsed_opts)
-        except (OptionError, ClassNotFound), err:
-            print >>sys.stderr, 'Error:', err
-            return 1
-
-    if args:
-        if len(args) > 1:
-            print >>sys.stderr, usage
-            return 2
-
-        infn = args[0]
-        try:
-            code = open(infn, 'rb').read()
-        except Exception, err:
-            print >>sys.stderr, 'Error: cannot read infile:', err
-            return 1
+        if sys.version_info > (3,):
+            # Python 3: we have to use .buffer to get a binary stream
+            outfile = sys.stdout.buffer
+        else:
+            outfile = sys.stdout
 
-        if not lexer:
-            try:
-                lexer = get_lexer_for_filename(infn, code, **parsed_opts)
-            except ClassNotFound, err:
-                if '-g' in opts:
-                    try:
-                        lexer = guess_lexer(code, **parsed_opts)
-                    except ClassNotFound:
-                        lexer = TextLexer(**parsed_opts)
-                else:
-                    print >>sys.stderr, 'Error:', err
-                    return 1
-            except OptionError, err:
-                print >>sys.stderr, 'Error:', err
-                return 1
+    # determine output encoding if not explicitly selected
+    if not outencoding:
+        if outfn:
+            # output file? use lexer encoding for now (can still be None)
+            fmter.encoding = inencoding
+        else:
+            # else use terminal encoding
+            fmter.encoding = terminal_encoding(sys.stdout)
 
-    else:
-        if '-g' in opts:
-            code = sys.stdin.read()
-            try:
-                lexer = guess_lexer(code, **parsed_opts)
-            except ClassNotFound:
-                lexer = TextLexer(**parsed_opts)
-        elif not lexer:
-            print >>sys.stderr, 'Error: no lexer name given and reading ' + \
-                                'from stdin (try using -g or -l <lexer>)'
-            return 2
+    # provide coloring under Windows, if possible
+    if not outfn and sys.platform in ('win32', 'cygwin') and \
+       fmter.name in ('Terminal', 'Terminal256'):  # pragma: no cover
+        # unfortunately colorama doesn't support binary streams on Py3
+        if sys.version_info > (3,):
+            from pygments.util import UnclosingTextIOWrapper
+            outfile = UnclosingTextIOWrapper(outfile, encoding=fmter.encoding)
+            fmter.encoding = None
+        try:
+            import colorama.initialise
+        except ImportError:
+            pass
         else:
-            code = sys.stdin.read()
+            outfile = colorama.initialise.wrap_stream(
+                outfile, convert=None, strip=None, autoreset=False, wrap=True)
 
-    # No encoding given? Use latin1 if output file given,
-    # stdin/stdout encoding otherwise.
-    # (This is a compromise, I'm not too happy with it...)
-    if 'encoding' not in parsed_opts and 'outencoding' not in parsed_opts:
-        if outfn:
-            # encoding pass-through
-            fmter.encoding = 'latin1'
-        else:
-            if sys.version_info < (3,):
-                # use terminal encoding; Python 3's terminals already do that
-                lexer.encoding = getattr(sys.stdin, 'encoding',
-                                         None) or 'ascii'
-                fmter.encoding = getattr(sys.stdout, 'encoding',
-                                         None) or 'ascii'
-    elif not outfn and sys.version_info > (3,):
-        # output to terminal with encoding -> use .buffer
-        outfile = sys.stdout.buffer
+    # When using the LaTeX formatter and the option `escapeinside` is
+    # specified, we need a special lexer which collects escaped text
+    # before running the chosen language lexer.
+    escapeinside = parsed_opts.get('escapeinside', '')
+    if len(escapeinside) == 2 and isinstance(fmter, LatexFormatter):
+        left = escapeinside[0]
+        right = escapeinside[1]
+        lexer = LatexEmbeddedLexer(left, right, lexer)
 
     # ... and do it!
+    if '-s' not in opts:
+        # process whole input as per normal...
+        highlight(code, lexer, fmter, outfile)
+        return 0
+    else:
+        # line by line processing of stdin (eg: for 'tail -f')...
+        try:
+            while 1:
+                if sys.version_info > (3,):
+                    # Python 3: we have to use .buffer to get a binary stream
+                    line = sys.stdin.buffer.readline()
+                else:
+                    line = sys.stdin.readline()
+                if not line:
+                    break
+                if not inencoding:
+                    line = guess_decode_from_terminal(line, sys.stdin)[0]
+                highlight(line, lexer, fmter, outfile)
+                if hasattr(outfile, 'flush'):
+                    outfile.flush()
+            return 0
+        except KeyboardInterrupt:  # pragma: no cover
+            return 0
+
+
+def main(args=sys.argv):
+    """
+    Main command line entry point.
+    """
+    usage = USAGE % ((args[0],) * 6)
+
     try:
-        # process filters
-        for fname, fopts in F_opts:
-            lexer.add_filter(fname, **fopts)
-        highlight(code, lexer, fmter, outfile)
-    except Exception, err:
+        popts, args = getopt.getopt(args[1:], "l:f:F:o:O:P:LS:a:N:vhVHgs")
+    except getopt.GetoptError:
+        print(usage, file=sys.stderr)
+        return 2
+
+    try:
+        return main_inner(popts, args, usage)
+    except Exception:
+        if '-v' in dict(popts):
+            print(file=sys.stderr)
+            print('*' * 65, file=sys.stderr)
+            print('An unhandled exception occurred while highlighting.',
+                  file=sys.stderr)
+            print('Please report the whole traceback to the issue tracker at',
+                  file=sys.stderr)
+            print('<https://bitbucket.org/birkenfeld/pygments-main/issues>.',
+                  file=sys.stderr)
+            print('*' * 65, file=sys.stderr)
+            print(file=sys.stderr)
+            raise
         import traceback
         info = traceback.format_exception(*sys.exc_info())
         msg = info[-1].strip()
         if len(info) >= 3:
             # extract relevant file and position info
             msg += '\n   (f%s)' % info[-2].split('\n')[0].strip()[1:]
-        print >>sys.stderr
-        print >>sys.stderr, '*** Error while highlighting:'
-        print >>sys.stderr, msg
+        print(file=sys.stderr)
+        print('*** Error while highlighting:', file=sys.stderr)
+        print(msg, file=sys.stderr)
+        print('*** If this is a bug you want to report, please rerun with -v.',
+              file=sys.stderr)
         return 1
-
-    return 0
--- a/MoinMoin/support/pygments/console.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/console.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,7 +5,7 @@
 
     Format colored console output.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
--- a/MoinMoin/support/pygments/filter.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/filter.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,7 +5,7 @@
 
     Module that implements the default filter.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -29,7 +29,7 @@
     Decorator that converts a function into a filter::
 
         @simplefilter
-        def lowercase(lexer, stream, options):
+        def lowercase(self, lexer, stream, options):
             for ttype, value in stream:
                 yield ttype, value.lower()
     """
@@ -69,6 +69,6 @@
         Filter.__init__(self, **options)
 
     def filter(self, lexer, stream):
-        # pylint: disable-msg=E1102
+        # pylint: disable=not-callable
         for ttype, value in self.function(lexer, stream, self.options):
             yield ttype, value
--- a/MoinMoin/support/pygments/filters/__init__.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/filters/__init__.py	Mon Sep 05 23:55:33 2016 +0200
@@ -6,7 +6,7 @@
     Module containing filter lookup functions and default
     filters.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -16,14 +16,12 @@
     string_to_tokentype
 from pygments.filter import Filter
 from pygments.util import get_list_opt, get_int_opt, get_bool_opt, \
-     get_choice_opt, ClassNotFound, OptionError
+     get_choice_opt, ClassNotFound, OptionError, text_type, string_types
 from pygments.plugin import find_plugin_filters
 
 
 def find_filter_class(filtername):
-    """
-    Lookup a filter by name. Return None if not found.
-    """
+    """Lookup a filter by name. Return None if not found."""
     if filtername in FILTERS:
         return FILTERS[filtername]
     for name, cls in find_plugin_filters():
@@ -33,9 +31,10 @@
 
 
 def get_filter_by_name(filtername, **options):
-    """
-    Return an instantiated filter. Options are passed to the filter
-    initializer if wanted. Raise a ClassNotFound if not found.
+    """Return an instantiated filter.
+
+    Options are passed to the filter initializer if wanted.
+    Raise a ClassNotFound if not found.
     """
     cls = find_filter_class(filtername)
     if cls:
@@ -45,9 +44,7 @@
 
 
 def get_all_filters():
-    """
-    Return a generator of all filter names.
-    """
+    """Return a generator of all filter names."""
     for name in FILTERS:
         yield name
     for name, _ in find_plugin_filters():
@@ -68,8 +65,7 @@
 
 
 class CodeTagFilter(Filter):
-    """
-    Highlight special code tags in comments and docstrings.
+    """Highlight special code tags in comments and docstrings.
 
     Options accepted:
 
@@ -100,8 +96,7 @@
 
 
 class KeywordCaseFilter(Filter):
-    """
-    Convert keywords to lowercase or uppercase or capitalize them, which
+    """Convert keywords to lowercase or uppercase or capitalize them, which
     means first letter uppercase, rest lowercase.
 
     This can be useful e.g. if you highlight Pascal code and want to adapt the
@@ -116,8 +111,9 @@
 
     def __init__(self, **options):
         Filter.__init__(self, **options)
-        case = get_choice_opt(options, 'case', ['lower', 'upper', 'capitalize'], 'lower')
-        self.convert = getattr(unicode, case)
+        case = get_choice_opt(options, 'case',
+                              ['lower', 'upper', 'capitalize'], 'lower')
+        self.convert = getattr(text_type, case)
 
     def filter(self, lexer, stream):
         for ttype, value in stream:
@@ -128,8 +124,7 @@
 
 
 class NameHighlightFilter(Filter):
-    """
-    Highlight a normal Name token with a different token type.
+    """Highlight a normal Name (and Name.*) token with a different token type.
 
     Example::
 
@@ -163,7 +158,7 @@
 
     def filter(self, lexer, stream):
         for ttype, value in stream:
-            if ttype is Name and value in self.names:
+            if ttype in Name and value in self.names:
                 yield self.tokentype, value
             else:
                 yield ttype, value
@@ -172,9 +167,9 @@
 class ErrorToken(Exception):
     pass
 
+
 class RaiseOnErrorTokenFilter(Filter):
-    """
-    Raise an exception when the lexer generates an error token.
+    """Raise an exception when the lexer generates an error token.
 
     Options accepted:
 
@@ -182,7 +177,7 @@
       The exception class to raise.
       The default is `pygments.filters.ErrorToken`.
 
-    *New in Pygments 0.8.*
+    .. versionadded:: 0.8
     """
 
     def __init__(self, **options):
@@ -203,8 +198,7 @@
 
 
 class VisibleWhitespaceFilter(Filter):
-    """
-    Convert tabs, newlines and/or spaces to visible characters.
+    """Convert tabs, newlines and/or spaces to visible characters.
 
     Options accepted:
 
@@ -230,29 +224,31 @@
       styling the visible whitespace differently (e.g. greyed out), but it can
       disrupt background colors.  The default is ``True``.
 
-    *New in Pygments 0.8.*
+    .. versionadded:: 0.8
     """
 
     def __init__(self, **options):
         Filter.__init__(self, **options)
-        for name, default in {'spaces': u'·', 'tabs': u'»', 'newlines': u'¶'}.items():
+        for name, default in [('spaces',   u'·'),
+                              ('tabs',     u'»'),
+                              ('newlines', u'¶')]:
             opt = options.get(name, False)
-            if isinstance(opt, basestring) and len(opt) == 1:
+            if isinstance(opt, string_types) and len(opt) == 1:
                 setattr(self, name, opt)
             else:
                 setattr(self, name, (opt and default or ''))
         tabsize = get_int_opt(options, 'tabsize', 8)
         if self.tabs:
-            self.tabs += ' '*(tabsize-1)
+            self.tabs += ' ' * (tabsize - 1)
         if self.newlines:
             self.newlines += '\n'
         self.wstt = get_bool_opt(options, 'wstokentype', True)
 
     def filter(self, lexer, stream):
         if self.wstt:
-            spaces = self.spaces or ' '
-            tabs = self.tabs or '\t'
-            newlines = self.newlines or '\n'
+            spaces = self.spaces or u' '
+            tabs = self.tabs or u'\t'
+            newlines = self.newlines or u'\n'
             regex = re.compile(r'\s')
             def replacefunc(wschar):
                 if wschar == ' ':
@@ -281,8 +277,7 @@
 
 
 class GobbleFilter(Filter):
-    """
-    Gobbles source code lines (eats initial characters).
+    """Gobbles source code lines (eats initial characters).
 
     This filter drops the first ``n`` characters off every line of code.  This
     may be useful when the source code fed to the lexer is indented by a fixed
@@ -293,7 +288,7 @@
     `n` : int
        The number of characters to gobble.
 
-    *New in Pygments 1.2.*
+    .. versionadded:: 1.2
     """
     def __init__(self, **options):
         Filter.__init__(self, **options)
@@ -303,7 +298,7 @@
         if left < len(value):
             return value[left:], 0
         else:
-            return '', left - len(value)
+            return u'', left - len(value)
 
     def filter(self, lexer, stream):
         n = self.n
@@ -314,18 +309,17 @@
             (parts[0], left) = self.gobble(parts[0], left)
             for i in range(1, len(parts)):
                 (parts[i], left) = self.gobble(parts[i], n)
-            value = '\n'.join(parts)
+            value = u'\n'.join(parts)
 
             if value != '':
                 yield ttype, value
 
 
 class TokenMergeFilter(Filter):
-    """
-    Merges consecutive tokens with the same token type in the output stream of a
-    lexer.
+    """Merges consecutive tokens with the same token type in the output
+    stream of a lexer.
 
-    *New in Pygments 1.2.*
+    .. versionadded:: 1.2
     """
     def __init__(self, **options):
         Filter.__init__(self, **options)
--- a/MoinMoin/support/pygments/formatter.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatter.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,20 +5,20 @@
 
     Base formatter class.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import codecs
 
-from pygments.util import get_bool_opt
+from pygments.util import get_bool_opt, string_types
 from pygments.styles import get_style_by_name
 
 __all__ = ['Formatter']
 
 
 def _lookup_style(style):
-    if isinstance(style, basestring):
+    if isinstance(style, string_types):
         return get_style_by_name(style)
     return style
 
@@ -68,7 +68,10 @@
         self.full  = get_bool_opt(options, 'full', False)
         self.title = options.get('title', '')
         self.encoding = options.get('encoding', None) or None
-        self.encoding = options.get('outencoding', None) or self.encoding
+        if self.encoding in ('guess', 'chardet'):
+            # can happen for e.g. pygmentize -O encoding=guess
+            self.encoding = 'utf-8'
+        self.encoding = options.get('outencoding') or self.encoding
         self.options = options
 
     def get_style_defs(self, arg=''):
--- a/MoinMoin/support/pygments/formatters/__init__.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/__init__.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,64 +5,114 @@
 
     Pygments formatters.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
-import os.path
+
+import re
+import sys
+import types
 import fnmatch
+from os.path import basename
 
 from pygments.formatters._mapping import FORMATTERS
 from pygments.plugin import find_plugin_formatters
-from pygments.util import ClassNotFound
-
-ns = globals()
-for fcls in FORMATTERS:
-    ns[fcls.__name__] = fcls
-del fcls
+from pygments.util import ClassNotFound, itervalues
 
 __all__ = ['get_formatter_by_name', 'get_formatter_for_filename',
-           'get_all_formatters'] + [cls.__name__ for cls in FORMATTERS]
+           'get_all_formatters'] + list(FORMATTERS)
+
+_formatter_cache = {}  # classes by name
+_pattern_cache = {}
 
 
-_formatter_alias_cache = {}
-_formatter_filename_cache = []
-
-def _init_formatter_cache():
-    if _formatter_alias_cache:
-        return
-    for cls in get_all_formatters():
-        for alias in cls.aliases:
-            _formatter_alias_cache[alias] = cls
-        for fn in cls.filenames:
-            _formatter_filename_cache.append((fn, cls))
+def _fn_matches(fn, glob):
+    """Return whether the supplied file name fn matches pattern filename."""
+    if glob not in _pattern_cache:
+        pattern = _pattern_cache[glob] = re.compile(fnmatch.translate(glob))
+        return pattern.match(fn)
+    return _pattern_cache[glob].match(fn)
 
 
-def find_formatter_class(name):
-    _init_formatter_cache()
-    cls = _formatter_alias_cache.get(name, None)
-    return cls
+def _load_formatters(module_name):
+    """Load a formatter (and all others in the module too)."""
+    mod = __import__(module_name, None, None, ['__all__'])
+    for formatter_name in mod.__all__:
+        cls = getattr(mod, formatter_name)
+        _formatter_cache[cls.name] = cls
 
 
-def get_formatter_by_name(name, **options):
-    _init_formatter_cache()
-    cls = _formatter_alias_cache.get(name, None)
-    if not cls:
-        raise ClassNotFound("No formatter found for name %r" % name)
+def get_all_formatters():
+    """Return a generator for all formatter classes."""
+    # NB: this returns formatter classes, not info like get_all_lexers().
+    for info in itervalues(FORMATTERS):
+        if info[1] not in _formatter_cache:
+            _load_formatters(info[0])
+        yield _formatter_cache[info[1]]
+    for _, formatter in find_plugin_formatters():
+        yield formatter
+
+
+def find_formatter_class(alias):
+    """Lookup a formatter by alias.
+
+    Returns None if not found.
+    """
+    for module_name, name, aliases, _, _ in itervalues(FORMATTERS):
+        if alias in aliases:
+            if name not in _formatter_cache:
+                _load_formatters(module_name)
+            return _formatter_cache[name]
+    for _, cls in find_plugin_formatters():
+        if alias in cls.aliases:
+            return cls
+
+
+def get_formatter_by_name(_alias, **options):
+    """Lookup and instantiate a formatter by alias.
+
+    Raises ClassNotFound if not found.
+    """
+    cls = find_formatter_class(_alias)
+    if cls is None:
+        raise ClassNotFound("no formatter found for name %r" % _alias)
     return cls(**options)
 
 
 def get_formatter_for_filename(fn, **options):
-    _init_formatter_cache()
-    fn = os.path.basename(fn)
-    for pattern, cls in _formatter_filename_cache:
-        if fnmatch.fnmatch(fn, pattern):
-            return cls(**options)
-    raise ClassNotFound("No formatter found for file name %r" % fn)
+    """Lookup and instantiate a formatter by filename pattern.
+
+    Raises ClassNotFound if not found.
+    """
+    fn = basename(fn)
+    for modname, name, _, filenames, _ in itervalues(FORMATTERS):
+        for filename in filenames:
+            if _fn_matches(fn, filename):
+                if name not in _formatter_cache:
+                    _load_formatters(modname)
+                return _formatter_cache[name](**options)
+    for cls in find_plugin_formatters():
+        for filename in cls.filenames:
+            if _fn_matches(fn, filename):
+                return cls(**options)
+    raise ClassNotFound("no formatter found for file name %r" % fn)
 
 
-def get_all_formatters():
-    """Return a generator for all formatters."""
-    for formatter in FORMATTERS:
-        yield formatter
-    for _, formatter in find_plugin_formatters():
-        yield formatter
+class _automodule(types.ModuleType):
+    """Automatically import formatters."""
+
+    def __getattr__(self, name):
+        info = FORMATTERS.get(name)
+        if info:
+            _load_formatters(info[0])
+            cls = _formatter_cache[info[1]]
+            setattr(self, name, cls)
+            return cls
+        raise AttributeError(name)
+
+
+oldmod = sys.modules[__name__]
+newmod = _automodule(__name__)
+newmod.__dict__.update(oldmod.__dict__)
+sys.modules[__name__] = newmod
+del newmod.newmod, newmod.oldmod, newmod.sys, newmod.types
--- a/MoinMoin/support/pygments/formatters/_mapping.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/_mapping.py	Mon Sep 05 23:55:33 2016 +0200
@@ -3,48 +3,38 @@
     pygments.formatters._mapping
     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-    Formatter mapping defintions. This file is generated by itself. Everytime
-    you change something on a builtin formatter defintion, run this script from
+    Formatter mapping definitions. This file is generated by itself. Everytime
+    you change something on a builtin formatter definition, run this script from
     the formatters folder to update it.
 
     Do not alter the FORMATTERS dictionary by hand.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
-# start
-from pygments.formatters.bbcode import BBCodeFormatter
-from pygments.formatters.html import HtmlFormatter
-from pygments.formatters.img import BmpImageFormatter
-from pygments.formatters.img import GifImageFormatter
-from pygments.formatters.img import ImageFormatter
-from pygments.formatters.img import JpgImageFormatter
-from pygments.formatters.latex import LatexFormatter
-from pygments.formatters.other import NullFormatter
-from pygments.formatters.other import RawTokenFormatter
-from pygments.formatters.rtf import RtfFormatter
-from pygments.formatters.svg import SvgFormatter
-from pygments.formatters.terminal import TerminalFormatter
-from pygments.formatters.terminal256 import Terminal256Formatter
+from __future__ import print_function
 
 FORMATTERS = {
-    BBCodeFormatter: ('BBCode', ('bbcode', 'bb'), (), 'Format tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there.'),
-    BmpImageFormatter: ('img_bmp', ('bmp', 'bitmap'), ('*.bmp',), 'Create a bitmap image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
-    GifImageFormatter: ('img_gif', ('gif',), ('*.gif',), 'Create a GIF image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
-    HtmlFormatter: ('HTML', ('html',), ('*.html', '*.htm'), "Format tokens as HTML 4 ``<span>`` tags within a ``<pre>`` tag, wrapped in a ``<div>`` tag. The ``<div>``'s CSS class can be set by the `cssclass` option."),
-    ImageFormatter: ('img', ('img', 'IMG', 'png'), ('*.png',), 'Create a PNG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
-    JpgImageFormatter: ('img_jpg', ('jpg', 'jpeg'), ('*.jpg',), 'Create a JPEG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
-    LatexFormatter: ('LaTeX', ('latex', 'tex'), ('*.tex',), 'Format tokens as LaTeX code. This needs the `fancyvrb` and `color` standard packages.'),
-    NullFormatter: ('Text only', ('text', 'null'), ('*.txt',), 'Output the text unchanged without any formatting.'),
-    RawTokenFormatter: ('Raw tokens', ('raw', 'tokens'), ('*.raw',), 'Format tokens as a raw representation for storing token streams.'),
-    RtfFormatter: ('RTF', ('rtf',), ('*.rtf',), 'Format tokens as RTF markup. This formatter automatically outputs full RTF documents with color information and other useful stuff. Perfect for Copy and Paste into Microsoft\xc2\xae Word\xc2\xae documents.'),
-    SvgFormatter: ('SVG', ('svg',), ('*.svg',), 'Format tokens as an SVG graphics file.  This formatter is still experimental. Each line of code is a ``<text>`` element with explicit ``x`` and ``y`` coordinates containing ``<tspan>`` elements with the individual token styles.'),
-    Terminal256Formatter: ('Terminal256', ('terminal256', 'console256', '256'), (), 'Format tokens with ANSI color sequences, for output in a 256-color terminal or console. Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.'),
-    TerminalFormatter: ('Terminal', ('terminal', 'console'), (), 'Format tokens with ANSI color sequences, for output in a text console. Color sequences are terminated at newlines, so that paging the output works correctly.')
+    'BBCodeFormatter': ('pygments.formatters.bbcode', 'BBCode', ('bbcode', 'bb'), (), 'Format tokens with BBcodes. These formatting codes are used by many bulletin boards, so you can highlight your sourcecode with pygments before posting it there.'),
+    'BmpImageFormatter': ('pygments.formatters.img', 'img_bmp', ('bmp', 'bitmap'), ('*.bmp',), 'Create a bitmap image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
+    'GifImageFormatter': ('pygments.formatters.img', 'img_gif', ('gif',), ('*.gif',), 'Create a GIF image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
+    'HtmlFormatter': ('pygments.formatters.html', 'HTML', ('html',), ('*.html', '*.htm'), "Format tokens as HTML 4 ``<span>`` tags within a ``<pre>`` tag, wrapped in a ``<div>`` tag. The ``<div>``'s CSS class can be set by the `cssclass` option."),
+    'IRCFormatter': ('pygments.formatters.irc', 'IRC', ('irc', 'IRC'), (), 'Format tokens with IRC color sequences'),
+    'ImageFormatter': ('pygments.formatters.img', 'img', ('img', 'IMG', 'png'), ('*.png',), 'Create a PNG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
+    'JpgImageFormatter': ('pygments.formatters.img', 'img_jpg', ('jpg', 'jpeg'), ('*.jpg',), 'Create a JPEG image from source code. This uses the Python Imaging Library to generate a pixmap from the source code.'),
+    'LatexFormatter': ('pygments.formatters.latex', 'LaTeX', ('latex', 'tex'), ('*.tex',), 'Format tokens as LaTeX code. This needs the `fancyvrb` and `color` standard packages.'),
+    'NullFormatter': ('pygments.formatters.other', 'Text only', ('text', 'null'), ('*.txt',), 'Output the text unchanged without any formatting.'),
+    'RawTokenFormatter': ('pygments.formatters.other', 'Raw tokens', ('raw', 'tokens'), ('*.raw',), 'Format tokens as a raw representation for storing token streams.'),
+    'RtfFormatter': ('pygments.formatters.rtf', 'RTF', ('rtf',), ('*.rtf',), 'Format tokens as RTF markup. This formatter automatically outputs full RTF documents with color information and other useful stuff. Perfect for Copy and Paste into Microsoft(R) Word(R) documents.'),
+    'SvgFormatter': ('pygments.formatters.svg', 'SVG', ('svg',), ('*.svg',), 'Format tokens as an SVG graphics file.  This formatter is still experimental. Each line of code is a ``<text>`` element with explicit ``x`` and ``y`` coordinates containing ``<tspan>`` elements with the individual token styles.'),
+    'Terminal256Formatter': ('pygments.formatters.terminal256', 'Terminal256', ('terminal256', 'console256', '256'), (), 'Format tokens with ANSI color sequences, for output in a 256-color terminal or console.  Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.'),
+    'TerminalFormatter': ('pygments.formatters.terminal', 'Terminal', ('terminal', 'console'), (), 'Format tokens with ANSI color sequences, for output in a text console. Color sequences are terminated at newlines, so that paging the output works correctly.'),
+    'TerminalTrueColorFormatter': ('pygments.formatters.terminal256', 'TerminalTrueColor', ('terminal16m', 'console16m', '16m'), (), 'Format tokens with ANSI color sequences, for output in a true-color terminal or console.  Like in `TerminalFormatter` color sequences are terminated at newlines, so that paging the output works correctly.'),
+    'TestcaseFormatter': ('pygments.formatters.other', 'Testcase', ('testcase',), (), 'Format tokens as appropriate for a new testcase.')
 }
 
-if __name__ == '__main__':
+if __name__ == '__main__':  # pragma: no cover
     import sys
     import os
 
@@ -54,39 +44,42 @@
     sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', '..'))
     from pygments.util import docstring_headline
 
-    for filename in os.listdir('.'):
-        if filename.endswith('.py') and not filename.startswith('_'):
-            module_name = 'pygments.formatters.%s' % filename[:-3]
-            print module_name
-            module = __import__(module_name, None, None, [''])
-            for formatter_name in module.__all__:
-                imports.append((module_name, formatter_name))
-                formatter = getattr(module, formatter_name)
-                found_formatters.append(
-                    '%s: %r' % (formatter_name,
-                                (formatter.name,
-                                 tuple(formatter.aliases),
-                                 tuple(formatter.filenames),
-                                 docstring_headline(formatter))))
-    # sort them, that should make the diff files for svn smaller
+    for root, dirs, files in os.walk('.'):
+        for filename in files:
+            if filename.endswith('.py') and not filename.startswith('_'):
+                module_name = 'pygments.formatters%s.%s' % (
+                    root[1:].replace('/', '.'), filename[:-3])
+                print(module_name)
+                module = __import__(module_name, None, None, [''])
+                for formatter_name in module.__all__:
+                    formatter = getattr(module, formatter_name)
+                    found_formatters.append(
+                        '%r: %r' % (formatter_name,
+                                    (module_name,
+                                     formatter.name,
+                                     tuple(formatter.aliases),
+                                     tuple(formatter.filenames),
+                                     docstring_headline(formatter))))
+    # sort them to make the diff minimal
     found_formatters.sort()
-    imports.sort()
 
     # extract useful sourcecode from this file
-    f = open(__file__)
-    try:
-        content = f.read()
-    finally:
-        f.close()
-    header = content[:content.find('# start')]
+    with open(__file__) as fp:
+        content = fp.read()
+        # replace crnl to nl for Windows.
+        #
+        # Note that, originally, contributers should keep nl of master
+        # repository, for example by using some kind of automatic
+        # management EOL, like `EolExtension
+        #  <https://www.mercurial-scm.org/wiki/EolExtension>`.
+        content = content.replace("\r\n", "\n")
+    header = content[:content.find('FORMATTERS = {')]
     footer = content[content.find("if __name__ == '__main__':"):]
 
     # write new file
-    f = open(__file__, 'w')
-    f.write(header)
-    f.write('# start\n')
-    f.write('\n'.join(['from %s import %s' % imp for imp in imports]))
-    f.write('\n\n')
-    f.write('FORMATTERS = {\n    %s\n}\n\n' % ',\n    '.join(found_formatters))
-    f.write(footer)
-    f.close()
+    with open(__file__, 'w') as fp:
+        fp.write(header)
+        fp.write('FORMATTERS = {\n    %s\n}\n\n' % ',\n    '.join(found_formatters))
+        fp.write(footer)
+
+    print ('=== %d formatters processed.' % len(found_formatters))
--- a/MoinMoin/support/pygments/formatters/bbcode.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/bbcode.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,7 +5,7 @@
 
     BBcode formatter.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
--- a/MoinMoin/support/pygments/formatters/html.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/html.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,18 +5,20 @@
 
     Formatter for HTML output.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
+from __future__ import print_function
+
 import os
 import sys
 import os.path
-import StringIO
 
 from pygments.formatter import Formatter
 from pygments.token import Token, Text, STANDARD_TYPES
-from pygments.util import get_bool_opt, get_int_opt, get_list_opt, bytes
+from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
+    StringIO, string_types, iteritems
 
 try:
     import ctags
@@ -34,21 +36,11 @@
     ord("'"): u'&#39;',
 }
 
+
 def escape_html(text, table=_escape_html_table):
     """Escape &, <, > as well as single and double quotes for HTML."""
     return text.translate(table)
 
-def get_random_id():
-    """Return a random id for javascript fields."""
-    from random import random
-    from time import time
-    try:
-        from hashlib import sha1 as sha
-    except ImportError:
-        import sha
-        sha = sha.new
-    return sha('%s|%s' % (random(), time())).hexdigest()
-
 
 def _get_ttype_class(ttype):
     fname = STANDARD_TYPES.get(ttype)
@@ -148,7 +140,7 @@
 
     When `tagsfile` is set to the path of a ctags index file, it is used to
     generate hyperlinks from names to their definition.  You must enable
-    `anchorlines` and run ctags with the `-n` option for this to work.  The
+    `lineanchors` and run ctags with the `-n` option for this to work.  The
     `python-ctags` module from PyPI must be installed to use this feature;
     otherwise a `RuntimeError` will be raised.
 
@@ -218,29 +210,34 @@
         If you set this option, the default selector for `get_style_defs()`
         will be this class.
 
-        *New in Pygments 0.9:* If you select the ``'table'`` line numbers, the
-        wrapping table will have a CSS class of this string plus ``'table'``,
-        the default is accordingly ``'highlighttable'``.
+        .. versionadded:: 0.9
+           If you select the ``'table'`` line numbers, the wrapping table will
+           have a CSS class of this string plus ``'table'``, the default is
+           accordingly ``'highlighttable'``.
 
     `cssstyles`
         Inline CSS styles for the wrapping ``<div>`` tag (default: ``''``).
 
     `prestyles`
-        Inline CSS styles for the ``<pre>`` tag (default: ``''``).  *New in
-        Pygments 0.11.*
+        Inline CSS styles for the ``<pre>`` tag (default: ``''``).
+
+        .. versionadded:: 0.11
 
     `cssfile`
         If the `full` option is true and this option is given, it must be the
         name of an external file. If the filename does not include an absolute
         path, the file's path will be assumed to be relative to the main output
         file's path, if the latter can be found. The stylesheet is then written
-        to this file instead of the HTML file. *New in Pygments 0.6.*
+        to this file instead of the HTML file.
+
+        .. versionadded:: 0.6
 
     `noclobber_cssfile`
         If `cssfile` is given and the specified file exists, the css file will
         not be overwritten. This allows the use of the `full` option in
         combination with a user specified css file. Default is ``False``.
-        *New in Pygments 1.1.*
+
+        .. versionadded:: 1.1
 
     `linenos`
         If set to ``'table'``, output line numbers as a table with two cells,
@@ -263,7 +260,9 @@
         125%``).
 
     `hl_lines`
-        Specify a list of lines to be highlighted.  *New in Pygments 0.11.*
+        Specify a list of lines to be highlighted.
+
+        .. versionadded:: 0.11
 
     `linenostart`
         The line number for the first line (default: ``1``).
@@ -279,24 +278,30 @@
         If set to ``True``, the formatter won't output the background color
         for the wrapping element (this automatically defaults to ``False``
         when there is no wrapping element [eg: no argument for the
-        `get_syntax_defs` method given]) (default: ``False``). *New in
-        Pygments 0.6.*
+        `get_syntax_defs` method given]) (default: ``False``).
+
+        .. versionadded:: 0.6
 
     `lineseparator`
         This string is output between lines of code. It defaults to ``"\n"``,
         which is enough to break a line inside ``<pre>`` tags, but you can
-        e.g. set it to ``"<br>"`` to get HTML line breaks. *New in Pygments
-        0.7.*
+        e.g. set it to ``"<br>"`` to get HTML line breaks.
+
+        .. versionadded:: 0.7
 
     `lineanchors`
         If set to a nonempty string, e.g. ``foo``, the formatter will wrap each
         output line in an anchor tag with a ``name`` of ``foo-linenumber``.
-        This allows easy linking to certain lines. *New in Pygments 0.9.*
+        This allows easy linking to certain lines.
+
+        .. versionadded:: 0.9
 
     `linespans`
         If set to a nonempty string, e.g. ``foo``, the formatter will wrap each
         output line in a span tag with an ``id`` of ``foo-linenumber``.
-        This allows easy access to lines via javascript. *New in Pygments 1.6.*
+        This allows easy access to lines via javascript.
+
+        .. versionadded:: 1.6
 
     `anchorlinenos`
         If set to `True`, will wrap line numbers in <a> tags. Used in
@@ -306,18 +311,26 @@
         If set to the path of a ctags file, wrap names in anchor tags that
         link to their definitions. `lineanchors` should be used, and the
         tags file should specify line numbers (see the `-n` option to ctags).
-        *New in Pygments 1.6.*
+
+        .. versionadded:: 1.6
 
     `tagurlformat`
         A string formatting pattern used to generate links to ctags definitions.
         Available variables are `%(path)s`, `%(fname)s` and `%(fext)s`.
         Defaults to an empty string, resulting in just `#prefix-number` links.
-        *New in Pygments 1.6.*
+
+        .. versionadded:: 1.6
+
+    `filename`
+        A string used to generate a filename when rendering <pre> blocks,
+        for example if displaying source code.
+
+        .. versionadded:: 2.1
 
 
     **Subclassing the HTML formatter**
 
-    *New in Pygments 0.7.*
+    .. versionadded:: 0.7
 
     The HTML formatter is now built in a way that allows easy subclassing, thus
     customizing the output HTML code. The `format()` method calls
@@ -381,6 +394,7 @@
         self.noclobber_cssfile = get_bool_opt(options, 'noclobber_cssfile', False)
         self.tagsfile = self._decodeifneeded(options.get('tagsfile', ''))
         self.tagurlformat = self._decodeifneeded(options.get('tagurlformat', ''))
+        self.filename = self._decodeifneeded(options.get('filename', ''))
 
         if self.tagsfile:
             if not ctags:
@@ -421,6 +435,15 @@
             return self.classprefix + ttypeclass
         return ''
 
+    def _get_css_classes(self, ttype):
+        """Return the css classes of this token type prefixed with
+        the classprefix option."""
+        cls = self._get_css_class(ttype)
+        while ttype not in STANDARD_TYPES:
+            ttype = ttype.parent
+            cls = self._get_css_class(ttype) + ' ' + cls
+        return cls
+
     def _create_stylesheet(self):
         t2c = self.ttype2class = {Token: ''}
         c2s = self.class2style = {}
@@ -453,7 +476,7 @@
         """
         if arg is None:
             arg = ('cssclass' in self.options and '.'+self.cssclass or '')
-        if isinstance(arg, basestring):
+        if isinstance(arg, string_types):
             args = [arg]
         else:
             args = list(arg)
@@ -467,7 +490,7 @@
             return ', '.join(tmp)
 
         styles = [(level, ttype, cls, style)
-                  for cls, (style, ttype, level) in self.class2style.iteritems()
+                  for cls, (style, ttype, level) in iteritems(self.class2style)
                   if cls and style]
         styles.sort()
         lines = ['%s { %s } /* %s */' % (prefix(cls), style, repr(ttype)[6:])
@@ -505,36 +528,37 @@
                     cssfilename = os.path.join(os.path.dirname(filename),
                                                self.cssfile)
                 except AttributeError:
-                    print >>sys.stderr, 'Note: Cannot determine output file name, ' \
-                          'using current directory as base for the CSS file name'
+                    print('Note: Cannot determine output file name, '
+                          'using current directory as base for the CSS file name',
+                          file=sys.stderr)
                     cssfilename = self.cssfile
             # write CSS file only if noclobber_cssfile isn't given as an option.
             try:
                 if not os.path.exists(cssfilename) or not self.noclobber_cssfile:
                     cf = open(cssfilename, "w")
                     cf.write(CSSFILE_TEMPLATE %
-                            {'styledefs': self.get_style_defs('body')})
+                             {'styledefs': self.get_style_defs('body')})
                     cf.close()
-            except IOError, err:
+            except IOError as err:
                 err.strerror = 'Error writing CSS file: ' + err.strerror
                 raise
 
             yield 0, (DOC_HEADER_EXTERNALCSS %
-                      dict(title     = self.title,
-                           cssfile   = self.cssfile,
-                           encoding  = self.encoding))
+                      dict(title=self.title,
+                           cssfile=self.cssfile,
+                           encoding=self.encoding))
         else:
             yield 0, (DOC_HEADER %
-                      dict(title     = self.title,
-                           styledefs = self.get_style_defs('body'),
-                           encoding  = self.encoding))
+                      dict(title=self.title,
+                           styledefs=self.get_style_defs('body'),
+                           encoding=self.encoding))
 
         for t, line in inner:
             yield t, line
         yield 0, DOC_FOOTER
 
     def _wrap_tablelinenos(self, inner):
-        dummyoutfile = StringIO.StringIO()
+        dummyoutfile = StringIO()
         lncount = 0
         for t, line in inner:
             if t:
@@ -606,35 +630,35 @@
         if self.noclasses:
             if sp:
                 for t, line in lines:
-                    if num%sp == 0:
+                    if num % sp == 0:
                         style = 'background-color: #ffffc0; padding: 0 5px 0 5px'
                     else:
                         style = 'background-color: #f0f0f0; padding: 0 5px 0 5px'
-                    yield 1, '<span style="%s">%*s</span> ' % (
-                        style, mw, (num%st and ' ' or num)) + line
+                    yield 1, '<span style="%s">%*s </span>' % (
+                        style, mw, (num % st and ' ' or num)) + line
                     num += 1
             else:
                 for t, line in lines:
                     yield 1, ('<span style="background-color: #f0f0f0; '
-                              'padding: 0 5px 0 5px">%*s</span> ' % (
-                              mw, (num%st and ' ' or num)) + line)
+                              'padding: 0 5px 0 5px">%*s </span>' % (
+                                  mw, (num % st and ' ' or num)) + line)
                     num += 1
         elif sp:
             for t, line in lines:
-                yield 1, '<span class="lineno%s">%*s</span> ' % (
-                    num%sp == 0 and ' special' or '', mw,
-                    (num%st and ' ' or num)) + line
+                yield 1, '<span class="lineno%s">%*s </span>' % (
+                    num % sp == 0 and ' special' or '', mw,
+                    (num % st and ' ' or num)) + line
                 num += 1
         else:
             for t, line in lines:
-                yield 1, '<span class="lineno">%*s</span> ' % (
-                    mw, (num%st and ' ' or num)) + line
+                yield 1, '<span class="lineno">%*s </span>' % (
+                    mw, (num % st and ' ' or num)) + line
                 num += 1
 
     def _wrap_lineanchors(self, inner):
         s = self.lineanchors
-        i = self.linenostart - 1 # subtract 1 since we have to increment i
-                                 # *before* yielding
+        # subtract 1 since we have to increment i *before* yielding
+        i = self.linenostart - 1
         for t, line in inner:
             if t:
                 i += 1
@@ -655,14 +679,14 @@
     def _wrap_div(self, inner):
         style = []
         if (self.noclasses and not self.nobackground and
-            self.style.background_color is not None):
+                self.style.background_color is not None):
             style.append('background: %s' % (self.style.background_color,))
         if self.cssstyles:
             style.append(self.cssstyles)
         style = '; '.join(style)
 
-        yield 0, ('<div' + (self.cssclass and ' class="%s"' % self.cssclass)
-                  + (style and (' style="%s"' % style)) + '>')
+        yield 0, ('<div' + (self.cssclass and ' class="%s"' % self.cssclass) +
+                  (style and (' style="%s"' % style)) + '>')
         for tup in inner:
             yield tup
         yield 0, '</div>\n'
@@ -675,7 +699,12 @@
             style.append('line-height: 125%')
         style = '; '.join(style)
 
-        yield 0, ('<pre' + (style and ' style="%s"' % style) + '>')
+        if self.filename:
+            yield 0, ('<span class="filename">' + self.filename + '</span>')
+
+        # the empty span here is to keep leading empty lines from being
+        # ignored by HTML parsers
+        yield 0, ('<pre' + (style and ' style="%s"' % style) + '><span></span>')
         for tup in inner:
             yield tup
         yield 0, '</pre>'
@@ -694,7 +723,7 @@
         tagsfile = self.tagsfile
 
         lspan = ''
-        line = ''
+        line = []
         for ttype, value in tokensource:
             if nocls:
                 cclass = getcls(ttype)
@@ -703,7 +732,7 @@
                     cclass = getcls(ttype)
                 cspan = cclass and '<span style="%s">' % c2s[cclass][0] or ''
             else:
-                cls = self._get_css_class(ttype)
+                cls = self._get_css_classes(ttype)
                 cspan = cls and '<span class="%s">' % cls or ''
 
             parts = value.translate(escape_table).split('\n')
@@ -725,30 +754,31 @@
             for part in parts[:-1]:
                 if line:
                     if lspan != cspan:
-                        line += (lspan and '</span>') + cspan + part + \
-                                (cspan and '</span>') + lsep
-                    else: # both are the same
-                        line += part + (lspan and '</span>') + lsep
-                    yield 1, line
-                    line = ''
+                        line.extend(((lspan and '</span>'), cspan, part,
+                                     (cspan and '</span>'), lsep))
+                    else:  # both are the same
+                        line.extend((part, (lspan and '</span>'), lsep))
+                    yield 1, ''.join(line)
+                    line = []
                 elif part:
-                    yield 1, cspan + part + (cspan and '</span>') + lsep
+                    yield 1, ''.join((cspan, part, (cspan and '</span>'), lsep))
                 else:
                     yield 1, lsep
             # for the last line
             if line and parts[-1]:
                 if lspan != cspan:
-                    line += (lspan and '</span>') + cspan + parts[-1]
+                    line.extend(((lspan and '</span>'), cspan, parts[-1]))
                     lspan = cspan
                 else:
-                    line += parts[-1]
+                    line.append(parts[-1])
             elif parts[-1]:
-                line = cspan + parts[-1]
+                line = [cspan, parts[-1]]
                 lspan = cspan
             # else we neither have to open a new span nor set lspan
 
         if line:
-            yield 1, line + (lspan and '</span>') + lsep
+            line.extend(((lspan and '</span>'), lsep))
+            yield 1, ''.join(line)
 
     def _lookup_ctag(self, token):
         entry = ctags.TagEntry()
@@ -767,7 +797,7 @@
         for i, (t, value) in enumerate(tokensource):
             if t != 1:
                 yield t, value
-            if i + 1 in hls: # i + 1 because Python indexes start at 0
+            if i + 1 in hls:  # i + 1 because Python indexes start at 0
                 if self.noclasses:
                     style = ''
                     if self.style.highlight_color is not None:
--- a/MoinMoin/support/pygments/formatters/img.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/img.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,15 +5,17 @@
 
     Formatter for Pixmap output.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 import sys
 
 from pygments.formatter import Formatter
-from pygments.util import get_bool_opt, get_int_opt, \
-     get_list_opt, get_choice_opt
+from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
+    get_choice_opt, xrange
+
+import subprocess
 
 # Import this carefully
 try:
@@ -25,7 +27,10 @@
 try:
     import _winreg
 except ImportError:
-    _winreg = None
+    try:
+        import winreg as _winreg
+    except ImportError:
+        _winreg = None
 
 __all__ = ['ImageFormatter', 'GifImageFormatter', 'JpgImageFormatter',
            'BmpImageFormatter']
@@ -72,14 +77,18 @@
             self._create_nix()
 
     def _get_nix_font_path(self, name, style):
-        from commands import getstatusoutput
-        exit, out = getstatusoutput('fc-list "%s:style=%s" file' %
-                                    (name, style))
-        if not exit:
-            lines = out.splitlines()
-            if lines:
-                path = lines[0].strip().strip(':')
-                return path
+        proc = subprocess.Popen(['fc-list', "%s:style=%s" % (name, style), 'file'],
+                                stdout=subprocess.PIPE, stderr=None)
+        stdout, _ = proc.communicate()
+        if proc.returncode == 0:
+            lines = stdout.splitlines()
+            for line in lines:
+                if line.startswith(b'Fontconfig warning:'):
+                    continue
+                path = line.decode().strip().strip(':')
+                if path:
+                    return path
+            return None
 
     def _create_nix(self):
         for name in STYLES['NORMAL']:
@@ -169,7 +178,7 @@
     Create a PNG image from source code. This uses the Python Imaging Library to
     generate a pixmap from the source code.
 
-    *New in Pygments 0.10.*
+    .. versionadded:: 0.10
 
     Additional options accepted:
 
@@ -191,7 +200,7 @@
         bold and italic fonts will be generated.  This really should be a
         monospace font to look sane.
 
-        Default: "Bitstream Vera Sans Mono"
+        Default: "Bitstream Vera Sans Mono" on Windows, Courier New on \*nix
 
     `font_size`
         The font size in points to be used.
@@ -258,12 +267,16 @@
         Default: 6
 
     `hl_lines`
-        Specify a list of lines to be highlighted.  *New in Pygments 1.2.*
+        Specify a list of lines to be highlighted.
+
+        .. versionadded:: 1.2
 
         Default: empty list
 
     `hl_color`
-        Specify the color for highlighting lines.  *New in Pygments 1.2.*
+        Specify the color for highlighting lines.
+
+        .. versionadded:: 1.2
 
         Default: highlight color of the selected style
     """
@@ -285,6 +298,7 @@
             raise PilNotAvailable(
                 'Python Imaging Library is required for this formatter')
         Formatter.__init__(self, **options)
+        self.encoding = 'latin1'  # let pygments.format() do the right thing
         # Read the style
         self.styles = dict(self.style)
         if self.style.background_color is None:
@@ -305,20 +319,20 @@
         self.line_number_fg = options.get('line_number_fg', '#886')
         self.line_number_bg = options.get('line_number_bg', '#eed')
         self.line_number_chars = get_int_opt(options,
-                                        'line_number_chars', 2)
+                                             'line_number_chars', 2)
         self.line_number_bold = get_bool_opt(options,
-                                        'line_number_bold', False)
+                                             'line_number_bold', False)
         self.line_number_italic = get_bool_opt(options,
-                                        'line_number_italic', False)
+                                               'line_number_italic', False)
         self.line_number_pad = get_int_opt(options, 'line_number_pad', 6)
         self.line_numbers = get_bool_opt(options, 'line_numbers', True)
         self.line_number_separator = get_bool_opt(options,
-                                        'line_number_separator', True)
+                                                  'line_number_separator', True)
         self.line_number_step = get_int_opt(options, 'line_number_step', 1)
         self.line_number_start = get_int_opt(options, 'line_number_start', 1)
         if self.line_numbers:
             self.line_number_width = (self.fontw * self.line_number_chars +
-                                   self.line_number_pad * 2)
+                                      self.line_number_pad * 2)
         else:
             self.line_number_width = 0
         self.hl_lines = []
@@ -427,7 +441,7 @@
             # quite complex.
             value = value.expandtabs(4)
             lines = value.splitlines(True)
-            #print lines
+            # print lines
             for i, line in enumerate(lines):
                 temp = line.rstrip('\n')
                 if temp:
@@ -468,9 +482,8 @@
         draw = ImageDraw.Draw(im)
         recth = im.size[-1]
         rectw = self.image_pad + self.line_number_width - self.line_number_pad
-        draw.rectangle([(0, 0),
-                        (rectw, recth)],
-             fill=self.line_number_bg)
+        draw.rectangle([(0, 0), (rectw, recth)],
+                       fill=self.line_number_bg)
         draw.line([(rectw, 0), (rectw, recth)], fill=self.line_number_fg)
         del draw
 
@@ -513,8 +526,7 @@
     Create a GIF image from source code. This uses the Python Imaging Library to
     generate a pixmap from the source code.
 
-    *New in Pygments 1.0.* (You could create GIF images before by passing a
-    suitable `image_format` option to the `ImageFormatter`.)
+    .. versionadded:: 1.0
     """
 
     name = 'img_gif'
@@ -528,8 +540,7 @@
     Create a JPEG image from source code. This uses the Python Imaging Library to
     generate a pixmap from the source code.
 
-    *New in Pygments 1.0.* (You could create JPEG images before by passing a
-    suitable `image_format` option to the `ImageFormatter`.)
+    .. versionadded:: 1.0
     """
 
     name = 'img_jpg'
@@ -543,8 +554,7 @@
     Create a bitmap image from source code. This uses the Python Imaging Library to
     generate a pixmap from the source code.
 
-    *New in Pygments 1.0.* (You could create bitmap images before by passing a
-    suitable `image_format` option to the `ImageFormatter`.)
+    .. versionadded:: 1.0
     """
 
     name = 'img_bmp'
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/formatters/irc.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,182 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.formatters.irc
+    ~~~~~~~~~~~~~~~~~~~~~~~
+
+    Formatter for IRC output
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+import sys
+
+from pygments.formatter import Formatter
+from pygments.token import Keyword, Name, Comment, String, Error, \
+    Number, Operator, Generic, Token, Whitespace
+from pygments.util import get_choice_opt
+
+
+__all__ = ['IRCFormatter']
+
+
+#: Map token types to a tuple of color values for light and dark
+#: backgrounds.
+IRC_COLORS = {
+    Token:              ('',            ''),
+
+    Whitespace:         ('lightgray',   'darkgray'),
+    Comment:            ('lightgray',   'darkgray'),
+    Comment.Preproc:    ('teal',        'turquoise'),
+    Keyword:            ('darkblue',    'blue'),
+    Keyword.Type:       ('teal',        'turquoise'),
+    Operator.Word:      ('purple',      'fuchsia'),
+    Name.Builtin:       ('teal',        'turquoise'),
+    Name.Function:      ('darkgreen',   'green'),
+    Name.Namespace:     ('_teal_',      '_turquoise_'),
+    Name.Class:         ('_darkgreen_', '_green_'),
+    Name.Exception:     ('teal',        'turquoise'),
+    Name.Decorator:     ('darkgray',    'lightgray'),
+    Name.Variable:      ('darkred',     'red'),
+    Name.Constant:      ('darkred',     'red'),
+    Name.Attribute:     ('teal',        'turquoise'),
+    Name.Tag:           ('blue',        'blue'),
+    String:             ('brown',       'brown'),
+    Number:             ('darkblue',    'blue'),
+
+    Generic.Deleted:    ('red',        'red'),
+    Generic.Inserted:   ('darkgreen',  'green'),
+    Generic.Heading:    ('**',         '**'),
+    Generic.Subheading: ('*purple*',   '*fuchsia*'),
+    Generic.Error:      ('red',        'red'),
+
+    Error:              ('_red_',      '_red_'),
+}
+
+
+IRC_COLOR_MAP = {
+    'white': 0,
+    'black': 1,
+    'darkblue': 2,
+    'green': 3,
+    'red': 4,
+    'brown': 5,
+    'purple': 6,
+    'orange': 7,
+    'darkgreen': 7, #compat w/ ansi
+    'yellow': 8,
+    'lightgreen': 9,
+    'turquoise': 9, # compat w/ ansi
+    'teal': 10,
+    'lightblue': 11,
+    'darkred': 11, # compat w/ ansi
+    'blue': 12,
+    'fuchsia': 13,
+    'darkgray': 14,
+    'lightgray': 15,
+}
+
+def ircformat(color, text):
+    if len(color) < 1:
+        return text
+    add = sub = ''
+    if '_' in color: # italic
+        add += '\x1D'
+        sub = '\x1D' + sub
+        color = color.strip('_')
+    if '*' in color: # bold
+        add += '\x02'
+        sub = '\x02' + sub
+        color = color.strip('*')
+    # underline (\x1F) not supported
+    # backgrounds (\x03FF,BB) not supported
+    if len(color) > 0: # actual color - may have issues with ircformat("red", "blah")+"10" type stuff
+        add += '\x03' + str(IRC_COLOR_MAP[color]).zfill(2)
+        sub = '\x03' + sub
+    return add + text + sub
+    return '<'+add+'>'+text+'</'+sub+'>'
+
+
+class IRCFormatter(Formatter):
+    r"""
+    Format tokens with IRC color sequences
+
+    The `get_style_defs()` method doesn't do anything special since there is
+    no support for common styles.
+
+    Options accepted:
+
+    `bg`
+        Set to ``"light"`` or ``"dark"`` depending on the terminal's background
+        (default: ``"light"``).
+
+    `colorscheme`
+        A dictionary mapping token types to (lightbg, darkbg) color names or
+        ``None`` (default: ``None`` = use builtin colorscheme).
+
+    `linenos`
+        Set to ``True`` to have line numbers in the output as well
+        (default: ``False`` = no line numbers).
+    """
+    name = 'IRC'
+    aliases = ['irc', 'IRC']
+    filenames = []
+
+    def __init__(self, **options):
+        Formatter.__init__(self, **options)
+        self.darkbg = get_choice_opt(options, 'bg',
+                                     ['light', 'dark'], 'light') == 'dark'
+        self.colorscheme = options.get('colorscheme', None) or IRC_COLORS
+        self.linenos = options.get('linenos', False)
+        self._lineno = 0
+
+    def _write_lineno(self, outfile):
+        self._lineno += 1
+        outfile.write("\n%04d: " % self._lineno)
+
+    def _format_unencoded_with_lineno(self, tokensource, outfile):
+        self._write_lineno(outfile)
+
+        for ttype, value in tokensource:
+            if value.endswith("\n"):
+                self._write_lineno(outfile)
+                value = value[:-1]
+            color = self.colorscheme.get(ttype)
+            while color is None:
+                ttype = ttype[:-1]
+                color = self.colorscheme.get(ttype)
+            if color:
+                color = color[self.darkbg]
+                spl = value.split('\n')
+                for line in spl[:-1]:
+                    self._write_lineno(outfile)
+                    if line:
+                        outfile.write(ircformat(color, line[:-1]))
+                if spl[-1]:
+                    outfile.write(ircformat(color, spl[-1]))
+            else:
+                outfile.write(value)
+
+        outfile.write("\n")
+
+    def format_unencoded(self, tokensource, outfile):
+        if self.linenos:
+            self._format_unencoded_with_lineno(tokensource, outfile)
+            return
+
+        for ttype, value in tokensource:
+            color = self.colorscheme.get(ttype)
+            while color is None:
+                ttype = ttype[:-1]
+                color = self.colorscheme.get(ttype)
+            if color:
+                color = color[self.darkbg]
+                spl = value.split('\n')
+                for line in spl[:-1]:
+                    if line:
+                        outfile.write(ircformat(color, line))
+                    outfile.write('\n')
+                if spl[-1]:
+                    outfile.write(ircformat(color, spl[-1]))
+            else:
+                outfile.write(value)
--- a/MoinMoin/support/pygments/formatters/latex.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/latex.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,13 +5,17 @@
 
     Formatter for LaTeX fancyvrb output.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
+from __future__ import division
+
 from pygments.formatter import Formatter
+from pygments.lexer import Lexer
 from pygments.token import Token, STANDARD_TYPES
-from pygments.util import get_bool_opt, get_int_opt, StringIO
+from pygments.util import get_bool_opt, get_int_opt, StringIO, xrange, \
+    iteritems
 
 
 __all__ = ['LatexFormatter']
@@ -152,7 +156,7 @@
 
     .. sourcecode:: latex
 
-        \begin{Verbatim}[commandchars=\\{\}]
+        \begin{Verbatim}[commandchars=\\\{\}]
         \PY{k}{def }\PY{n+nf}{foo}(\PY{n}{bar}):
             \PY{k}{pass}
         \end{Verbatim}
@@ -205,19 +209,40 @@
     `commandprefix`
         The LaTeX commands used to produce colored output are constructed
         using this prefix and some letters (default: ``'PY'``).
-        *New in Pygments 0.7.*
 
-        *New in Pygments 0.10:* the default is now ``'PY'`` instead of ``'C'``.
+        .. versionadded:: 0.7
+        .. versionchanged:: 0.10
+           The default is now ``'PY'`` instead of ``'C'``.
 
     `texcomments`
         If set to ``True``, enables LaTeX comment lines.  That is, LaTex markup
         in comment tokens is not escaped so that LaTeX can render it (default:
-        ``False``).  *New in Pygments 1.2.*
+        ``False``).
+
+        .. versionadded:: 1.2
 
     `mathescape`
         If set to ``True``, enables LaTeX math mode escape in comments. That
         is, ``'$...$'`` inside a comment will trigger math mode (default:
-        ``False``).  *New in Pygments 1.2.*
+        ``False``).
+
+        .. versionadded:: 1.2
+
+    `escapeinside`
+        If set to a string of length 2, enables escaping to LaTeX. Text
+        delimited by these 2 characters is read as LaTeX code and
+        typeset accordingly. It has no effect in string literals. It has
+        no effect in comments if `texcomments` or `mathescape` is
+        set. (default: ``''``).
+
+        .. versionadded:: 2.0
+
+    `envname`
+        Allows you to pick an alternative environment name replacing Verbatim.
+        The alternate environment still has to support Verbatim's option syntax.
+        (default: ``'Verbatim'``).
+
+        .. versionadded:: 2.0
     """
     name = 'LaTeX'
     aliases = ['latex', 'tex']
@@ -235,10 +260,16 @@
         self.commandprefix = options.get('commandprefix', 'PY')
         self.texcomments = get_bool_opt(options, 'texcomments', False)
         self.mathescape = get_bool_opt(options, 'mathescape', False)
+        self.escapeinside = options.get('escapeinside', '')
+        if len(self.escapeinside) == 2:
+            self.left = self.escapeinside[0]
+            self.right = self.escapeinside[1]
+        else:
+            self.escapeinside = ''
+        self.envname = options.get('envname', u'Verbatim')
 
         self._create_stylesheet()
 
-
     def _create_stylesheet(self):
         t2n = self.ttype2name = {Token: ''}
         c2d = self.cmd2def = {}
@@ -246,7 +277,7 @@
 
         def rgbcolor(col):
             if col:
-                return ','.join(['%.2f' %(int(col[i] + col[i + 1], 16) / 255.0)
+                return ','.join(['%.2f' % (int(col[i] + col[i + 1], 16) / 255.0)
                                  for i in (0, 2, 4)])
             else:
                 return '1,1,1'
@@ -291,7 +322,7 @@
         """
         cp = self.commandprefix
         styles = []
-        for name, definition in self.cmd2def.iteritems():
+        for name, definition in iteritems(self.cmd2def):
             styles.append(r'\expandafter\def\csname %s@tok@%s\endcsname{%s}' %
                           (cp, name, definition))
         return STYLE_TEMPLATE % {'cp': self.commandprefix,
@@ -306,14 +337,14 @@
             realoutfile = outfile
             outfile = StringIO()
 
-        outfile.write(ur'\begin{Verbatim}[commandchars=\\\{\}')
+        outfile.write(u'\\begin{' + self.envname + u'}[commandchars=\\\\\\{\\}')
         if self.linenos:
             start, step = self.linenostart, self.linenostep
             outfile.write(u',numbers=left' +
                           (start and u',firstnumber=%d' % start or u'') +
                           (step and u',stepnumber=%d' % step or u''))
-        if self.mathescape or self.texcomments:
-            outfile.write(ur',codes={\catcode`\$=3\catcode`\^=7\catcode`\_=8}')
+        if self.mathescape or self.texcomments or self.escapeinside:
+            outfile.write(u',codes={\\catcode`\\$=3\\catcode`\\^=7\\catcode`\\_=8}')
         if self.verboptions:
             outfile.write(u',' + self.verboptions)
         outfile.write(u']\n')
@@ -329,7 +360,7 @@
                         start += value[i]
 
                     value = value[len(start):]
-                    start = escape_tex(start, self.commandprefix)
+                    start = escape_tex(start, cp)
 
                     # ... but do not escape inside comment.
                     value = start + value
@@ -339,13 +370,26 @@
                     in_math = False
                     for i, part in enumerate(parts):
                         if not in_math:
-                            parts[i] = escape_tex(part, self.commandprefix)
+                            parts[i] = escape_tex(part, cp)
                         in_math = not in_math
                     value = '$'.join(parts)
+                elif self.escapeinside:
+                    text = value
+                    value = ''
+                    while text:
+                        a, sep1, text = text.partition(self.left)
+                        if sep1:
+                            b, sep2, text = text.partition(self.right)
+                            if sep2:
+                                value += escape_tex(a, cp) + b
+                            else:
+                                value += escape_tex(a + sep1 + b, cp)
+                        else:
+                            value += escape_tex(a, cp)
                 else:
-                    value = escape_tex(value, self.commandprefix)
-            else:
-                value = escape_tex(value, self.commandprefix)
+                    value = escape_tex(value, cp)
+            elif ttype not in Token.Escape:
+                value = escape_tex(value, cp)
             styles = []
             while ttype is not Token:
                 try:
@@ -366,13 +410,73 @@
             else:
                 outfile.write(value)
 
-        outfile.write(u'\\end{Verbatim}\n')
+        outfile.write(u'\\end{' + self.envname + u'}\n')
 
         if self.full:
+            encoding = self.encoding or 'utf8'
+            # map known existings encodings from LaTeX distribution
+            encoding = {
+                'utf_8': 'utf8',
+                'latin_1': 'latin1',
+                'iso_8859_1': 'latin1',
+            }.get(encoding.replace('-', '_'), encoding)
             realoutfile.write(DOC_TEMPLATE %
                 dict(docclass  = self.docclass,
                      preamble  = self.preamble,
                      title     = self.title,
-                     encoding  = self.encoding or 'latin1',
+                     encoding  = encoding,
                      styledefs = self.get_style_defs(),
                      code      = outfile.getvalue()))
+
+
+class LatexEmbeddedLexer(Lexer):
+    """
+    This lexer takes one lexer as argument, the lexer for the language
+    being formatted, and the left and right delimiters for escaped text.
+
+    First everything is scanned using the language lexer to obtain
+    strings and comments. All other consecutive tokens are merged and
+    the resulting text is scanned for escaped segments, which are given
+    the Token.Escape type. Finally text that is not escaped is scanned
+    again with the language lexer.
+    """
+    def __init__(self, left, right, lang, **options):
+        self.left = left
+        self.right = right
+        self.lang = lang
+        Lexer.__init__(self, **options)
+
+    def get_tokens_unprocessed(self, text):
+        buf = ''
+        idx = 0
+        for i, t, v in self.lang.get_tokens_unprocessed(text):
+            if t in Token.Comment or t in Token.String:
+                if buf:
+                    for x in self.get_tokens_aux(idx, buf):
+                        yield x
+                    buf = ''
+                yield i, t, v
+            else:
+                if not buf:
+                    idx = i
+                buf += v
+        if buf:
+            for x in self.get_tokens_aux(idx, buf):
+                yield x
+
+    def get_tokens_aux(self, index, text):
+        while text:
+            a, sep1, text = text.partition(self.left)
+            if a:
+                for i, t, v in self.lang.get_tokens_unprocessed(a):
+                    yield index + i, t, v
+                    index += len(a)
+            if sep1:
+                b, sep2, text = text.partition(self.right)
+                if sep2:
+                    yield index + len(sep1), Token.Escape, b
+                    index += len(sep1) + len(b) + len(sep2)
+                else:
+                    yield index, Token.Error, sep1
+                    index += len(sep1)
+                    text = b
--- a/MoinMoin/support/pygments/formatters/other.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/other.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,16 +5,16 @@
 
     Other formatters: NullFormatter, RawTokenFormatter.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.formatter import Formatter
-from pygments.util import OptionError, get_choice_opt, b
+from pygments.util import OptionError, get_choice_opt
 from pygments.token import Token
 from pygments.console import colorize
 
-__all__ = ['NullFormatter', 'RawTokenFormatter']
+__all__ = ['NullFormatter', 'RawTokenFormatter', 'TestcaseFormatter']
 
 
 class NullFormatter(Formatter):
@@ -40,7 +40,7 @@
 
     The format is ``tokentype<TAB>repr(tokenstring)\n``. The output can later
     be converted to a token stream with the `RawTokenLexer`, described in the
-    `lexer list <lexers.txt>`_.
+    :doc:`lexer list <lexers>`.
 
     Only two options are accepted:
 
@@ -50,7 +50,8 @@
     `error_color`
         If set to a color name, highlight error tokens using that color.  If
         set but with no value, defaults to ``'red'``.
-        *New in Pygments 0.11.*
+
+        .. versionadded:: 0.11
 
     """
     name = 'Raw tokens'
@@ -61,9 +62,9 @@
 
     def __init__(self, **options):
         Formatter.__init__(self, **options)
-        if self.encoding:
-            raise OptionError('the raw formatter does not support the '
-                              'encoding option')
+        # We ignore self.encoding if it is set, since it gets set for lexer
+        # and formatter if given with -Oencoding on the command line.
+        # The RawTokenFormatter outputs only ASCII. Override here.
         self.encoding = 'ascii'  # let pygments.format() do the right thing
         self.compress = get_choice_opt(options, 'compress',
                                        ['', 'none', 'gz', 'bz2'], '')
@@ -79,7 +80,7 @@
 
     def format(self, tokensource, outfile):
         try:
-            outfile.write(b(''))
+            outfile.write(b'')
         except TypeError:
             raise TypeError('The raw tokens formatter needs a binary '
                             'output file')
@@ -113,3 +114,47 @@
             for ttype, value in tokensource:
                 write("%s\t%r\n" % (ttype, value))
         flush()
+
+TESTCASE_BEFORE = u'''\
+    def testNeedsName(self):
+        fragment = %r
+        tokens = [
+'''
+TESTCASE_AFTER = u'''\
+        ]
+        self.assertEqual(tokens, list(self.lexer.get_tokens(fragment)))
+'''
+
+
+class TestcaseFormatter(Formatter):
+    """
+    Format tokens as appropriate for a new testcase.
+
+    .. versionadded:: 2.0
+    """
+    name = 'Testcase'
+    aliases = ['testcase']
+
+    def __init__(self, **options):
+        Formatter.__init__(self, **options)
+        if self.encoding is not None and self.encoding != 'utf-8':
+            raise ValueError("Only None and utf-8 are allowed encodings.")
+
+    def format(self, tokensource, outfile):
+        indentation = ' ' * 12
+        rawbuf = []
+        outbuf = []
+        for ttype, value in tokensource:
+            rawbuf.append(value)
+            outbuf.append('%s(%s, %r),\n' % (indentation, ttype, value))
+
+        before = TESTCASE_BEFORE % (u''.join(rawbuf),)
+        during = u''.join(outbuf)
+        after = TESTCASE_AFTER
+        if self.encoding is None:
+            outfile.write(before + during + after)
+        else:
+            outfile.write(before.encode('utf-8'))
+            outfile.write(during.encode('utf-8'))
+            outfile.write(after.encode('utf-8'))
+        outfile.flush()
--- a/MoinMoin/support/pygments/formatters/rtf.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/rtf.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,11 +5,12 @@
 
     A formatter that generates RTF files.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
 from pygments.formatter import Formatter
+from pygments.util import get_int_opt, _surrogatepair
 
 
 __all__ = ['RtfFormatter']
@@ -19,9 +20,13 @@
     """
     Format tokens as RTF markup. This formatter automatically outputs full RTF
     documents with color information and other useful stuff. Perfect for Copy and
-    Paste into Microsoft® Word® documents.
+    Paste into Microsoft(R) Word(R) documents.
 
-    *New in Pygments 0.6.*
+    Please note that ``encoding`` and ``outencoding`` options are ignored.
+    The RTF format is ASCII natively, but handles unicode characters correctly
+    thanks to escape sequences.
+
+    .. versionadded:: 0.6
 
     Additional options accepted:
 
@@ -32,15 +37,19 @@
     `fontface`
         The used font famliy, for example ``Bitstream Vera Sans``. Defaults to
         some generic font which is supposed to have fixed width.
+
+    `fontsize`
+        Size of the font used. Size is specified in half points. The
+        default is 24 half-points, giving a size 12 font.
+
+        .. versionadded:: 2.0
     """
     name = 'RTF'
     aliases = ['rtf']
     filenames = ['*.rtf']
 
-    unicodeoutput = False
-
     def __init__(self, **options):
-        """
+        r"""
         Additional options accepted:
 
         ``fontface``
@@ -49,48 +58,48 @@
             specification claims that ``\fmodern`` are "Fixed-pitch serif
             and sans serif fonts". Hope every RTF implementation thinks
             the same about modern...
+
         """
         Formatter.__init__(self, **options)
         self.fontface = options.get('fontface') or ''
+        self.fontsize = get_int_opt(options, 'fontsize', 0)
 
     def _escape(self, text):
-        return text.replace('\\', '\\\\') \
-                   .replace('{', '\\{') \
-                   .replace('}', '\\}')
+        return text.replace(u'\\', u'\\\\') \
+                   .replace(u'{', u'\\{') \
+                   .replace(u'}', u'\\}')
 
     def _escape_text(self, text):
         # empty strings, should give a small performance improvment
         if not text:
-            return ''
+            return u''
 
         # escape text
         text = self._escape(text)
-        if self.encoding in ('utf-8', 'utf-16', 'utf-32'):
-            encoding = 'iso-8859-15'
-        else:
-            encoding = self.encoding or 'iso-8859-15'
 
         buf = []
         for c in text:
-            if ord(c) > 128:
-                ansic = c.encode(encoding, 'ignore') or '?'
-                if ord(ansic) > 128:
-                    ansic = '\\\'%x' % ord(ansic)
-                else:
-                    ansic = c
-                buf.append(r'\ud{\u%d%s}' % (ord(c), ansic))
-            else:
+            cn = ord(c)
+            if cn < (2**7):
+                # ASCII character
                 buf.append(str(c))
+            elif (2**7) <= cn < (2**16):
+                # single unicode escape sequence
+                buf.append(u'{\\u%d}' % cn)
+            elif (2**16) <= cn:
+                # RTF limits unicode to 16 bits.
+                # Force surrogate pairs
+                buf.append(u'{\\u%d}{\\u%d}' % _surrogatepair(cn))
 
-        return ''.join(buf).replace('\n', '\\par\n')
+        return u''.join(buf).replace(u'\n', u'\\par\n')
 
     def format_unencoded(self, tokensource, outfile):
         # rtf 1.8 header
-        outfile.write(r'{\rtf1\ansi\deff0'
-                      r'{\fonttbl{\f0\fmodern\fprq1\fcharset0%s;}}'
-                      r'{\colortbl;' % (self.fontface and
-                                        ' ' + self._escape(self.fontface) or
-                                        ''))
+        outfile.write(u'{\\rtf1\\ansi\\uc0\\deff0'
+                      u'{\\fonttbl{\\f0\\fmodern\\fprq1\\fcharset0%s;}}'
+                      u'{\\colortbl;' % (self.fontface and
+                                         u' ' + self._escape(self.fontface) or
+                                         u''))
 
         # convert colors and save them in a mapping to access them later.
         color_mapping = {}
@@ -99,13 +108,15 @@
             for color in style['color'], style['bgcolor'], style['border']:
                 if color and color not in color_mapping:
                     color_mapping[color] = offset
-                    outfile.write(r'\red%d\green%d\blue%d;' % (
+                    outfile.write(u'\\red%d\\green%d\\blue%d;' % (
                         int(color[0:2], 16),
                         int(color[2:4], 16),
                         int(color[4:6], 16)
                     ))
                     offset += 1
-        outfile.write(r'}\f0')
+        outfile.write(u'}\\f0 ')
+        if self.fontsize:
+            outfile.write(u'\\fs%d' % (self.fontsize))
 
         # highlight stream
         for ttype, value in tokensource:
@@ -114,23 +125,23 @@
             style = self.style.style_for_token(ttype)
             buf = []
             if style['bgcolor']:
-                buf.append(r'\cb%d' % color_mapping[style['bgcolor']])
+                buf.append(u'\\cb%d' % color_mapping[style['bgcolor']])
             if style['color']:
-                buf.append(r'\cf%d' % color_mapping[style['color']])
+                buf.append(u'\\cf%d' % color_mapping[style['color']])
             if style['bold']:
-                buf.append(r'\b')
+                buf.append(u'\\b')
             if style['italic']:
-                buf.append(r'\i')
+                buf.append(u'\\i')
             if style['underline']:
-                buf.append(r'\ul')
+                buf.append(u'\\ul')
             if style['border']:
-                buf.append(r'\chbrdr\chcfpat%d' %
+                buf.append(u'\\chbrdr\\chcfpat%d' %
                            color_mapping[style['border']])
-            start = ''.join(buf)
+            start = u''.join(buf)
             if start:
-                outfile.write('{%s ' % start)
+                outfile.write(u'{%s ' % start)
             outfile.write(self._escape_text(value))
             if start:
-                outfile.write('}')
+                outfile.write(u'}')
 
-        outfile.write('}')
+        outfile.write(u'}')
--- a/MoinMoin/support/pygments/formatters/svg.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/svg.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,7 +5,7 @@
 
     Formatter for SVG output.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -35,7 +35,7 @@
     By default, this formatter outputs a full SVG document including doctype
     declaration and the ``<svg>`` root element.
 
-    *New in Pygments 0.9.*
+    .. versionadded:: 0.9
 
     Additional options accepted:
 
@@ -78,7 +78,6 @@
     filenames = ['*.svg']
 
     def __init__(self, **options):
-        # XXX outencoding
         Formatter.__init__(self, **options)
         self.nowrap = get_bool_opt(options, 'nowrap', False)
         self.fontfamily = options.get('fontfamily', 'monospace')
--- a/MoinMoin/support/pygments/formatters/terminal.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/terminal.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,7 +5,7 @@
 
     Formatter for terminal output with ANSI sequences.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -13,7 +13,7 @@
 
 from pygments.formatter import Formatter
 from pygments.token import Keyword, Name, Comment, String, Error, \
-     Number, Operator, Generic, Token, Whitespace
+    Number, Operator, Generic, Token, Whitespace
 from pygments.console import ansiformat
 from pygments.util import get_choice_opt
 
@@ -49,6 +49,7 @@
     Generic.Inserted:   ('darkgreen',  'green'),
     Generic.Heading:    ('**',         '**'),
     Generic.Subheading: ('*purple*',   '*fuchsia*'),
+    Generic.Prompt:     ('**',         '**'),
     Generic.Error:      ('red',        'red'),
 
     Error:              ('_red_',      '_red_'),
@@ -73,6 +74,10 @@
     `colorscheme`
         A dictionary mapping token types to (lightbg, darkbg) color names or
         ``None`` (default: ``None`` = use builtin colorscheme).
+
+    `linenos`
+        Set to ``True`` to have line numbers on the terminal output as well
+        (default: ``False`` = no line numbers).
     """
     name = 'Terminal'
     aliases = ['terminal', 'console']
@@ -83,6 +88,8 @@
         self.darkbg = get_choice_opt(options, 'bg',
                                      ['light', 'dark'], 'light') == 'dark'
         self.colorscheme = options.get('colorscheme', None) or TERMINAL_COLORS
+        self.linenos = options.get('linenos', False)
+        self._lineno = 0
 
     def format(self, tokensource, outfile):
         # hack: if the output is a terminal and has an encoding set,
@@ -93,20 +100,37 @@
             self.encoding = outfile.encoding
         return Formatter.format(self, tokensource, outfile)
 
+    def _write_lineno(self, outfile):
+        self._lineno += 1
+        outfile.write("%s%04d: " % (self._lineno != 1 and '\n' or '', self._lineno))
+
+    def _get_color(self, ttype):
+        # self.colorscheme is a dict containing usually generic types, so we
+        # have to walk the tree of dots.  The base Token type must be a key,
+        # even if it's empty string, as in the default above.
+        colors = self.colorscheme.get(ttype)
+        while colors is None:
+            ttype = ttype.parent
+            colors = self.colorscheme.get(ttype)
+        return colors[self.darkbg]
+
     def format_unencoded(self, tokensource, outfile):
+        if self.linenos:
+            self._write_lineno(outfile)
+
         for ttype, value in tokensource:
-            color = self.colorscheme.get(ttype)
-            while color is None:
-                ttype = ttype[:-1]
-                color = self.colorscheme.get(ttype)
-            if color:
-                color = color[self.darkbg]
-                spl = value.split('\n')
-                for line in spl[:-1]:
-                    if line:
-                        outfile.write(ansiformat(color, line))
-                    outfile.write('\n')
-                if spl[-1]:
-                    outfile.write(ansiformat(color, spl[-1]))
-            else:
-                outfile.write(value)
+            color = self._get_color(ttype)
+
+            for line in value.splitlines(True):
+                if color:
+                    outfile.write(ansiformat(color, line.rstrip('\n')))
+                else:
+                    outfile.write(line.rstrip('\n'))
+                if line.endswith('\n'):
+                    if self.linenos:
+                        self._write_lineno(outfile)
+                    else:
+                        outfile.write('\n')
+
+        if self.linenos:
+            outfile.write("\n")
--- a/MoinMoin/support/pygments/formatters/terminal256.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/formatters/terminal256.py	Mon Sep 05 23:55:33 2016 +0200
@@ -11,7 +11,7 @@
 
     Formatter version 1.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
@@ -29,7 +29,7 @@
 from pygments.formatter import Formatter
 
 
-__all__ = ['Terminal256Formatter']
+__all__ = ['Terminal256Formatter', 'TerminalTrueColorFormatter']
 
 
 class EscapeSequence:
@@ -56,6 +56,18 @@
             attrs.append("04")
         return self.escape(attrs)
 
+    def true_color_string(self):
+        attrs = []
+        if self.fg:
+            attrs.extend(("38", "2", str(self.fg[0]), str(self.fg[1]), str(self.fg[2])))
+        if self.bg:
+            attrs.extend(("48", "2", str(self.bg[0]), str(self.bg[1]), str(self.bg[2])))
+        if self.bold:
+            attrs.append("01")
+        if self.underline:
+            attrs.append("04")
+        return self.escape(attrs)
+
     def reset_string(self):
         attrs = []
         if self.fg is not None:
@@ -66,17 +78,18 @@
             attrs.append("00")
         return self.escape(attrs)
 
+
 class Terminal256Formatter(Formatter):
-    r"""
+    """
     Format tokens with ANSI color sequences, for output in a 256-color
-    terminal or console. Like in `TerminalFormatter` color sequences
+    terminal or console.  Like in `TerminalFormatter` color sequences
     are terminated at newlines, so that paging the output works correctly.
 
     The formatter takes colors from a style defined by the `style` option
     and converts them to nearest ANSI 256-color escape sequences. Bold and
     underline attributes from the style are preserved (and displayed).
 
-    *New in Pygments 0.9.*
+    .. versionadded:: 0.9
 
     Options accepted:
 
@@ -98,28 +111,28 @@
         self.usebold = 'nobold' not in options
         self.useunderline = 'nounderline' not in options
 
-        self._build_color_table() # build an RGB-to-256 color conversion table
-        self._setup_styles() # convert selected style's colors to term. colors
+        self._build_color_table()  # build an RGB-to-256 color conversion table
+        self._setup_styles()  # convert selected style's colors to term. colors
 
     def _build_color_table(self):
         # colors 0..15: 16 basic colors
 
-        self.xterm_colors.append((0x00, 0x00, 0x00)) # 0
-        self.xterm_colors.append((0xcd, 0x00, 0x00)) # 1
-        self.xterm_colors.append((0x00, 0xcd, 0x00)) # 2
-        self.xterm_colors.append((0xcd, 0xcd, 0x00)) # 3
-        self.xterm_colors.append((0x00, 0x00, 0xee)) # 4
-        self.xterm_colors.append((0xcd, 0x00, 0xcd)) # 5
-        self.xterm_colors.append((0x00, 0xcd, 0xcd)) # 6
-        self.xterm_colors.append((0xe5, 0xe5, 0xe5)) # 7
-        self.xterm_colors.append((0x7f, 0x7f, 0x7f)) # 8
-        self.xterm_colors.append((0xff, 0x00, 0x00)) # 9
-        self.xterm_colors.append((0x00, 0xff, 0x00)) # 10
-        self.xterm_colors.append((0xff, 0xff, 0x00)) # 11
-        self.xterm_colors.append((0x5c, 0x5c, 0xff)) # 12
-        self.xterm_colors.append((0xff, 0x00, 0xff)) # 13
-        self.xterm_colors.append((0x00, 0xff, 0xff)) # 14
-        self.xterm_colors.append((0xff, 0xff, 0xff)) # 15
+        self.xterm_colors.append((0x00, 0x00, 0x00))  # 0
+        self.xterm_colors.append((0xcd, 0x00, 0x00))  # 1
+        self.xterm_colors.append((0x00, 0xcd, 0x00))  # 2
+        self.xterm_colors.append((0xcd, 0xcd, 0x00))  # 3
+        self.xterm_colors.append((0x00, 0x00, 0xee))  # 4
+        self.xterm_colors.append((0xcd, 0x00, 0xcd))  # 5
+        self.xterm_colors.append((0x00, 0xcd, 0xcd))  # 6
+        self.xterm_colors.append((0xe5, 0xe5, 0xe5))  # 7
+        self.xterm_colors.append((0x7f, 0x7f, 0x7f))  # 8
+        self.xterm_colors.append((0xff, 0x00, 0x00))  # 9
+        self.xterm_colors.append((0x00, 0xff, 0x00))  # 10
+        self.xterm_colors.append((0xff, 0xff, 0x00))  # 11
+        self.xterm_colors.append((0x5c, 0x5c, 0xff))  # 12
+        self.xterm_colors.append((0xff, 0x00, 0xff))  # 13
+        self.xterm_colors.append((0x00, 0xff, 0xff))  # 14
+        self.xterm_colors.append((0xff, 0xff, 0xff))  # 15
 
         # colors 16..232: the 6x6x6 color cube
 
@@ -138,7 +151,7 @@
             self.xterm_colors.append((v, v, v))
 
     def _closest_color(self, r, g, b):
-        distance = 257*257*3 # "infinity" (>distance from #000000 to #ffffff)
+        distance = 257*257*3  # "infinity" (>distance from #000000 to #ffffff)
         match = 0
 
         for i in range(0, 254):
@@ -197,7 +210,7 @@
             not_found = True
             while ttype and not_found:
                 try:
-                    #outfile.write( "<" + str(ttype) + ">" )
+                    # outfile.write( "<" + str(ttype) + ">" )
                     on, off = self.style_string[str(ttype)]
 
                     # Like TerminalFormatter, add "reset colors" escape sequence
@@ -211,12 +224,58 @@
                         outfile.write(on + spl[-1] + off)
 
                     not_found = False
-                    #outfile.write( '#' + str(ttype) + '#' )
+                    # outfile.write( '#' + str(ttype) + '#' )
 
                 except KeyError:
-                    #ottype = ttype
+                    # ottype = ttype
                     ttype = ttype[:-1]
-                    #outfile.write( '!' + str(ottype) + '->' + str(ttype) + '!' )
+                    # outfile.write( '!' + str(ottype) + '->' + str(ttype) + '!' )
 
             if not_found:
                 outfile.write(value)
+
+
+class TerminalTrueColorFormatter(Terminal256Formatter):
+    r"""
+    Format tokens with ANSI color sequences, for output in a true-color
+    terminal or console.  Like in `TerminalFormatter` color sequences
+    are terminated at newlines, so that paging the output works correctly.
+
+    .. versionadded:: 2.1
+
+    Options accepted:
+
+    `style`
+        The style to use, can be a string or a Style subclass (default:
+        ``'default'``).
+    """
+    name = 'TerminalTrueColor'
+    aliases = ['terminal16m', 'console16m', '16m']
+    filenames = []
+
+    def _build_color_table(self):
+        pass
+
+    def _color_tuple(self, color):
+        try:
+            rgb = int(str(color), 16)
+        except ValueError:
+            return None
+        r = (rgb >> 16) & 0xff
+        g = (rgb >> 8) & 0xff
+        b = rgb & 0xff
+        return (r, g, b)
+
+    def _setup_styles(self):
+        for ttype, ndef in self.style:
+            escape = EscapeSequence()
+            if ndef['color']:
+                escape.fg = self._color_tuple(ndef['color'])
+            if ndef['bgcolor']:
+                escape.bg = self._color_tuple(ndef['bgcolor'])
+            if self.usebold and ndef['bold']:
+                escape.bold = True
+            if self.useunderline and ndef['underline']:
+                escape.underline = True
+            self.style_string[str(ttype)] = (escape.true_color_string(),
+                                             escape.reset_string())
--- a/MoinMoin/support/pygments/lexer.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/lexer.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,27 +5,33 @@
 
     Base lexer classes.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
-import re, itertools
+
+from __future__ import print_function
+
+import re
+import sys
+import time
 
 from pygments.filter import apply_filters, Filter
 from pygments.filters import get_filter_by_name
 from pygments.token import Error, Text, Other, _TokenType
 from pygments.util import get_bool_opt, get_int_opt, get_list_opt, \
-     make_analysator
-
+    make_analysator, text_type, add_metaclass, iteritems, Future, guess_decode
+from pygments.regexopt import regex_opt
 
 __all__ = ['Lexer', 'RegexLexer', 'ExtendedRegexLexer', 'DelegatingLexer',
-           'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this']
+           'LexerContext', 'include', 'inherit', 'bygroups', 'using', 'this',
+           'default', 'words']
 
 
-_encoding_map = [('\xef\xbb\xbf', 'utf-8'),
-                 ('\xff\xfe\0\0', 'utf-32'),
-                 ('\0\0\xfe\xff', 'utf-32be'),
-                 ('\xff\xfe', 'utf-16'),
-                 ('\xfe\xff', 'utf-16be')]
+_encoding_map = [(b'\xef\xbb\xbf', 'utf-8'),
+                 (b'\xff\xfe\0\0', 'utf-32'),
+                 (b'\0\0\xfe\xff', 'utf-32be'),
+                 (b'\xff\xfe', 'utf-16'),
+                 (b'\xfe\xff', 'utf-16be')]
 
 _default_analyse = staticmethod(lambda x: 0.0)
 
@@ -36,12 +42,13 @@
     static methods which always return float values.
     """
 
-    def __new__(cls, name, bases, d):
+    def __new__(mcs, name, bases, d):
         if 'analyse_text' in d:
             d['analyse_text'] = make_analysator(d['analyse_text'])
-        return type.__new__(cls, name, bases, d)
+        return type.__new__(mcs, name, bases, d)
 
 
+@add_metaclass(LexerMeta)
 class Lexer(object):
     """
     Lexer for a specific language.
@@ -55,15 +62,19 @@
     ``ensurenl``
         Make sure that the input ends with a newline (default: True).  This
         is required for some lexers that consume input linewise.
-        *New in Pygments 1.3.*
+
+        .. versionadded:: 1.3
+
     ``tabsize``
         If given and greater than 0, expand tabs in the input (default: 0).
     ``encoding``
         If given, must be an encoding name. This encoding will be used to
         convert the input string to Unicode, if it is not already a Unicode
-        string (default: ``'latin1'``).
-        Can also be ``'guess'`` to use a simple UTF-8 / Latin1 detection, or
-        ``'chardet'`` to use the chardet library, if it is installed.
+        string (default: ``'guess'``, which uses a simple UTF-8 / Locale /
+        Latin1 detection.  Can also be ``'chardet'`` to use the chardet
+        library, if it is installed.
+    ``inencoding``
+        Overrides the ``encoding`` if given.
     """
 
     #: Name of the lexer
@@ -84,16 +95,14 @@
     #: Priority, should multiple lexers match and no content is provided
     priority = 0
 
-    __metaclass__ = LexerMeta
-
     def __init__(self, **options):
         self.options = options
         self.stripnl = get_bool_opt(options, 'stripnl', True)
         self.stripall = get_bool_opt(options, 'stripall', False)
         self.ensurenl = get_bool_opt(options, 'ensurenl', True)
         self.tabsize = get_int_opt(options, 'tabsize', 0)
-        self.encoding = options.get('encoding', 'latin1')
-        # self.encoding = options.get('inencoding', None) or self.encoding
+        self.encoding = options.get('encoding', 'guess')
+        self.encoding = options.get('inencoding') or self.encoding
         self.filters = []
         for filter_ in get_list_opt(options, 'filters', ()):
             self.add_filter(filter_)
@@ -136,14 +145,9 @@
         Also preprocess the text, i.e. expand tabs and strip it if
         wanted and applies registered filters.
         """
-        if not isinstance(text, unicode):
+        if not isinstance(text, text_type):
             if self.encoding == 'guess':
-                try:
-                    text = text.decode('utf-8')
-                    if text.startswith(u'\ufeff'):
-                        text = text[len(u'\ufeff'):]
-                except UnicodeDecodeError:
-                    text = text.decode('latin1')
+                text, _ = guess_decode(text)
             elif self.encoding == 'chardet':
                 try:
                     import chardet
@@ -155,17 +159,18 @@
                 decoded = None
                 for bom, encoding in _encoding_map:
                     if text.startswith(bom):
-                        decoded = unicode(text[len(bom):], encoding,
-                                          errors='replace')
+                        decoded = text[len(bom):].decode(encoding, 'replace')
                         break
                 # no BOM found, so use chardet
                 if decoded is None:
-                    enc = chardet.detect(text[:1024]) # Guess using first 1KB
-                    decoded = unicode(text, enc.get('encoding') or 'utf-8',
-                                      errors='replace')
+                    enc = chardet.detect(text[:1024])  # Guess using first 1KB
+                    decoded = text.decode(enc.get('encoding') or 'utf-8',
+                                          'replace')
                 text = decoded
             else:
                 text = text.decode(self.encoding)
+                if text.startswith(u'\ufeff'):
+                    text = text[len(u'\ufeff'):]
         else:
             if text.startswith(u'\ufeff'):
                 text = text[len(u'\ufeff'):]
@@ -183,7 +188,7 @@
             text += '\n'
 
         def streamer():
-            for i, t, v in self.get_tokens_unprocessed(text):
+            for _, t, v in self.get_tokens_unprocessed(text):
                 yield t, v
         stream = streamer()
         if not unfiltered:
@@ -192,7 +197,9 @@
 
     def get_tokens_unprocessed(self, text):
         """
-        Return an iterable of (tokentype, value) pairs.
+        Return an iterable of (index, tokentype, value) pairs where "index"
+        is the starting position of the token within the input text.
+
         In subclasses, implement this method as a generator to
         maximize effectiveness.
         """
@@ -233,12 +240,12 @@
                              self.root_lexer.get_tokens_unprocessed(buffered))
 
 
-#-------------------------------------------------------------------------------
+# ------------------------------------------------------------------------------
 # RegexLexer and ExtendedRegexLexer
 #
 
 
-class include(str):
+class include(str):  # pylint: disable=invalid-name
     """
     Indicates that a state should include rules from another state.
     """
@@ -252,10 +259,10 @@
     def __repr__(self):
         return 'inherit'
 
-inherit = _inherit()
+inherit = _inherit()  # pylint: disable=invalid-name
 
 
-class combined(tuple):
+class combined(tuple):  # pylint: disable=invalid-name
     """
     Indicates a state combined from multiple states.
     """
@@ -312,8 +319,8 @@
                 if data is not None:
                     if ctx:
                         ctx.pos = match.start(i + 1)
-                    for item in action(lexer, _PseudoMatch(match.start(i + 1),
-                                       data), ctx):
+                    for item in action(
+                        lexer, _PseudoMatch(match.start(i + 1), data), ctx):
                         if item:
                             yield item
         if ctx:
@@ -379,20 +386,50 @@
     return callback
 
 
+class default:
+    """
+    Indicates a state or state action (e.g. #pop) to apply.
+    For example default('#pop') is equivalent to ('', Token, '#pop')
+    Note that state tuples may be used as well.
+
+    .. versionadded:: 2.0
+    """
+    def __init__(self, state):
+        self.state = state
+
+
+class words(Future):
+    """
+    Indicates a list of literal words that is transformed into an optimized
+    regex that matches any of the words.
+
+    .. versionadded:: 2.0
+    """
+    def __init__(self, words, prefix='', suffix=''):
+        self.words = words
+        self.prefix = prefix
+        self.suffix = suffix
+
+    def get(self):
+        return regex_opt(self.words, prefix=self.prefix, suffix=self.suffix)
+
+
 class RegexLexerMeta(LexerMeta):
     """
     Metaclass for RegexLexer, creates the self._tokens attribute from
     self.tokens on the first instantiation.
     """
 
-    def _process_regex(cls, regex, rflags):
+    def _process_regex(cls, regex, rflags, state):
         """Preprocess the regular expression component of a token definition."""
+        if isinstance(regex, Future):
+            regex = regex.get()
         return re.compile(regex, rflags).match
 
     def _process_token(cls, token):
         """Preprocess the token component of a token definition."""
         assert type(token) is _TokenType or callable(token), \
-               'token type must be simple type or callable, not %r' % (token,)
+            'token type must be simple type or callable, not %r' % (token,)
         return token
 
     def _process_new_state(cls, new_state, unprocessed, processed):
@@ -425,7 +462,7 @@
             for istate in new_state:
                 assert (istate in unprocessed or
                         istate in ('#pop', '#push')), \
-                       'unknown new state ' + istate
+                    'unknown new state ' + istate
             return new_state
         else:
             assert False, 'unknown new state def %r' % new_state
@@ -446,14 +483,20 @@
                                                  str(tdef)))
                 continue
             if isinstance(tdef, _inherit):
-                # processed already
+                # should be processed already, but may not in the case of:
+                # 1. the state has no counterpart in any parent
+                # 2. the state includes more than one 'inherit'
+                continue
+            if isinstance(tdef, default):
+                new_state = cls._process_new_state(tdef.state, unprocessed, processed)
+                tokens.append((re.compile('').match, None, new_state))
                 continue
 
             assert type(tdef) is tuple, "wrong rule def %r" % tdef
 
             try:
-                rex = cls._process_regex(tdef[0], rflags)
-            except Exception, err:
+                rex = cls._process_regex(tdef[0], rflags, state)
+            except Exception as err:
                 raise ValueError("uncompilable regex %r in state %r of %r: %s" %
                                  (tdef[0], state, cls, err))
 
@@ -472,7 +515,7 @@
         """Preprocess a dictionary of token definitions."""
         processed = cls._all_tokens[name] = {}
         tokendefs = tokendefs or cls.tokens[name]
-        for state in tokendefs.keys():
+        for state in list(tokendefs):
             cls._process_state(tokendefs, processed, state)
         return processed
 
@@ -490,12 +533,16 @@
         """
         tokens = {}
         inheritable = {}
-        for c in itertools.chain((cls,), cls.__mro__):
+        for c in cls.__mro__:
             toks = c.__dict__.get('tokens', {})
 
-            for state, items in toks.iteritems():
+            for state, items in iteritems(toks):
                 curitems = tokens.get(state)
                 if curitems is None:
+                    # N.b. because this is assigned by reference, sufficiently
+                    # deep hierarchies are processed incrementally (e.g. for
+                    # A(B), B(C), C(RegexLexer), B will be premodified so X(B)
+                    # will not see any inherits in B).
                     tokens[state] = items
                     try:
                         inherit_ndx = items.index(inherit)
@@ -511,6 +558,8 @@
                 # Replace the "inherit" value with the items
                 curitems[inherit_ndx:inherit_ndx+1] = items
                 try:
+                    # N.b. this is the index in items (that is, the superclass
+                    # copy), so offset required when storing below.
                     new_inh_ndx = items.index(inherit)
                 except ValueError:
                     pass
@@ -533,13 +582,13 @@
         return type.__call__(cls, *args, **kwds)
 
 
+@add_metaclass(RegexLexerMeta)
 class RegexLexer(Lexer):
     """
     Base for simple stateful regular expression-based lexers.
     Simplifies the lexing process so that you need only
     provide a list of states and regular expressions.
     """
-    __metaclass__ = RegexLexerMeta
 
     #: Flags for compiling the regular expressions.
     #: Defaults to MULTILINE.
@@ -578,11 +627,12 @@
             for rexmatch, action, new_state in statetokens:
                 m = rexmatch(text, pos)
                 if m:
-                    if type(action) is _TokenType:
-                        yield pos, action, m.group()
-                    else:
-                        for item in action(self, m):
-                            yield item
+                    if action is not None:
+                        if type(action) is _TokenType:
+                            yield pos, action, m.group()
+                        else:
+                            for item in action(self, m):
+                                yield item
                     pos = m.end()
                     if new_state is not None:
                         # state transition
@@ -604,6 +654,8 @@
                         statetokens = tokendefs[statestack[-1]]
                     break
             else:
+                # We are here only if all state tokens have been considered
+                # and there was not a match on any of them.
                 try:
                     if text[pos] == '\n':
                         # at EOL, reset state to "root"
@@ -626,7 +678,7 @@
     def __init__(self, text, pos, stack=None, end=None):
         self.text = text
         self.pos = pos
-        self.end = end or len(text) # end=0 not supported ;-)
+        self.end = end or len(text)  # end=0 not supported ;-)
         self.stack = stack or ['root']
 
     def __repr__(self):
@@ -656,15 +708,16 @@
             for rexmatch, action, new_state in statetokens:
                 m = rexmatch(text, ctx.pos, ctx.end)
                 if m:
-                    if type(action) is _TokenType:
-                        yield ctx.pos, action, m.group()
-                        ctx.pos = m.end()
-                    else:
-                        for item in action(self, m, ctx):
-                            yield item
-                        if not new_state:
-                            # altered the state stack?
-                            statetokens = tokendefs[ctx.stack[-1]]
+                    if action is not None:
+                        if type(action) is _TokenType:
+                            yield ctx.pos, action, m.group()
+                            ctx.pos = m.end()
+                        else:
+                            for item in action(self, m, ctx):
+                                yield item
+                            if not new_state:
+                                # altered the state stack?
+                                statetokens = tokendefs[ctx.stack[-1]]
                     # CAUTION: callback must set ctx.pos!
                     if new_state is not None:
                         # state transition
@@ -673,7 +726,7 @@
                                 if state == '#pop':
                                     ctx.stack.pop()
                                 elif state == '#push':
-                                    ctx.stack.append(statestack[-1])
+                                    ctx.stack.append(ctx.stack[-1])
                                 else:
                                     ctx.stack.append(state)
                         elif isinstance(new_state, int):
@@ -718,7 +771,7 @@
     """
     insertions = iter(insertions)
     try:
-        index, itokens = insertions.next()
+        index, itokens = next(insertions)
     except StopIteration:
         # no insertions
         for item in tokens:
@@ -744,7 +797,7 @@
                 realpos += len(it_value)
             oldi = index - i
             try:
-                index, itokens = insertions.next()
+                index, itokens = next(insertions)
             except StopIteration:
                 insleft = False
                 break  # not strictly necessary
@@ -759,7 +812,60 @@
             yield realpos, t, v
             realpos += len(v)
         try:
-            index, itokens = insertions.next()
+            index, itokens = next(insertions)
         except StopIteration:
             insleft = False
             break  # not strictly necessary
+
+
+class ProfilingRegexLexerMeta(RegexLexerMeta):
+    """Metaclass for ProfilingRegexLexer, collects regex timing info."""
+
+    def _process_regex(cls, regex, rflags, state):
+        if isinstance(regex, words):
+            rex = regex_opt(regex.words, prefix=regex.prefix,
+                            suffix=regex.suffix)
+        else:
+            rex = regex
+        compiled = re.compile(rex, rflags)
+
+        def match_func(text, pos, endpos=sys.maxsize):
+            info = cls._prof_data[-1].setdefault((state, rex), [0, 0.0])
+            t0 = time.time()
+            res = compiled.match(text, pos, endpos)
+            t1 = time.time()
+            info[0] += 1
+            info[1] += t1 - t0
+            return res
+        return match_func
+
+
+@add_metaclass(ProfilingRegexLexerMeta)
+class ProfilingRegexLexer(RegexLexer):
+    """Drop-in replacement for RegexLexer that does profiling of its regexes."""
+
+    _prof_data = []
+    _prof_sort_index = 4  # defaults to time per call
+
+    def get_tokens_unprocessed(self, text, stack=('root',)):
+        # this needs to be a stack, since using(this) will produce nested calls
+        self.__class__._prof_data.append({})
+        for tok in RegexLexer.get_tokens_unprocessed(self, text, stack):
+            yield tok
+        rawdata = self.__class__._prof_data.pop()
+        data = sorted(((s, repr(r).strip('u\'').replace('\\\\', '\\')[:65],
+                        n, 1000 * t, 1000 * t / n)
+                       for ((s, r), (n, t)) in rawdata.items()),
+                      key=lambda x: x[self._prof_sort_index],
+                      reverse=True)
+        sum_total = sum(x[3] for x in data)
+
+        print()
+        print('Profiling result for %s lexing %d chars in %.3f ms' %
+              (self.__class__.__name__, len(text), sum_total))
+        print('=' * 110)
+        print('%-20s %-64s ncalls  tottime  percall' % ('state', 'regex'))
+        print('-' * 110)
+        for d in data:
+            print('%-20s %-65s %5d %8.4f %8.4f' % d)
+        print('=' * 110)
--- a/MoinMoin/support/pygments/lexers/__init__.py	Mon Sep 05 23:44:04 2016 +0200
+++ b/MoinMoin/support/pygments/lexers/__init__.py	Mon Sep 05 23:55:33 2016 +0200
@@ -5,30 +5,39 @@
 
     Pygments lexers.
 
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
     :license: BSD, see LICENSE for details.
 """
 
+import re
 import sys
 import types
 import fnmatch
 from os.path import basename
 
 from pygments.lexers._mapping import LEXERS
+from pygments.modeline import get_filetype_from_buffer
 from pygments.plugin import find_plugin_lexers
-from pygments.util import ClassNotFound, bytes
+from pygments.util import ClassNotFound, itervalues, guess_decode
 
 
 __all__ = ['get_lexer_by_name', 'get_lexer_for_filename', 'find_lexer_class',
-           'guess_lexer'] + LEXERS.keys()
+           'guess_lexer'] + list(LEXERS)
 
 _lexer_cache = {}
+_pattern_cache = {}
+
+
+def _fn_matches(fn, glob):
+    """Return whether the supplied file name fn matches pattern filename."""
+    if glob not in _pattern_cache:
+        pattern = _pattern_cache[glob] = re.compile(fnmatch.translate(glob))
+        return pattern.match(fn)
+    return _pattern_cache[glob].match(fn)
 
 
 def _load_lexers(module_name):
-    """
-    Load a lexer (and all others in the module too).
-    """
+    """Load a lexer (and all others in the module too)."""
     mod = __import__(module_name, None, None, ['__all__'])
     for lexer_name in mod.__all__:
         cls = getattr(mod, lexer_name)
@@ -36,24 +45,24 @@
 
 
 def get_all_lexers():
-    """
-    Return a generator of tuples in the form ``(name, aliases,
+    """Return a generator of tuples in the form ``(name, aliases,
     filenames, mimetypes)`` of all know lexers.
     """
-    for item in LEXERS.itervalues():
+    for item in itervalues(LEXERS):
         yield item[1:]
     for lexer in find_plugin_lexers():
         yield lexer.name, lexer.aliases, lexer.filenames, lexer.mimetypes
 
 
 def find_lexer_class(name):
-    """
-    Lookup a lexer class by name. Return None if not found.
+    """Lookup a lexer class by name.
+
+    Return None if not found.
     """
     if name in _lexer_cache:
         return _lexer_cache[name]
     # lookup builtin lexers
-    for module_name, lname, aliases, _, _ in LEXERS.itervalues():
+    for module_name, lname, aliases, _, _ in itervalues(LEXERS):
         if name == lname:
             _load_lexers(module_name)
             return _lexer_cache[name]
@@ -64,44 +73,50 @@
 
 
 def get_lexer_by_name(_alias, **options):
-    """
-    Get a lexer by an alias.
+    """Get a lexer by an alias.
+
+    Raises ClassNotFound if not found.
     """
+    if not _alias:
+        raise ClassNotFound('no lexer for alias %r found' % _alias)
+
     # lookup builtin lexers
-    for module_name, name, aliases, _, _ in LEXERS.itervalues():
-        if _alias in aliases:
+    for module_name, name, aliases, _, _ in itervalues(LEXERS):
+        if _alias.lower() in aliases:
             if name not in _lexer_cache:
                 _load_lexers(module_name)
             return _lexer_cache[name](**options)
     # continue with lexers from setuptools entrypoints
     for cls in find_plugin_lexers():
-        if _alias in cls.aliases:
+        if _alias.lower() in cls.aliases:
             return cls(**options)
     raise ClassNotFound('no lexer for alias %r found' % _alias)
 
 
-def get_lexer_for_filename(_fn, code=None, **options):
-    """
-    Get a lexer for a filename.  If multiple lexers match the filename
-    pattern, use ``analyze_text()`` to figure out which one is more
-    appropriate.
+def find_lexer_class_for_filename(_fn, code=None):
+    """Get a lexer for a filename.
+
+    If multiple lexers match the filename pattern, use ``analyse_text()`` to
+    figure out which one is more appropriate.
+
+    Returns None if not found.
     """
     matches = []
     fn = basename(_fn)
-    for modname, name, _, filenames, _ in LEXERS.itervalues():
+    for modname, name, _, filenames, _ in itervalues(LEXERS):
         for filename in filenames:
-            if fnmatch.fnmatch(fn, filename):
+            if _fn_matches(fn, filename):
                 if name not in _lexer_cache:
                     _load_lexers(modname)
                 matches.append((_lexer_cache[name], filename))
     for cls in find_plugin_lexers():
         for filename in cls.filenames:
-            if fnmatch.fnmatch(fn, filename):
+            if _fn_matches(fn, filename):
                 matches.append((cls, filename))
 
     if sys.version_info > (3,) and isinstance(code, bytes):
         # decode it, since all analyse_text functions expect unicode
-        code = code.decode('latin1')
+        code = guess_decode(code)
 
     def get_rating(info):
         cls, filename = info
@@ -117,16 +132,30 @@
 
     if matches:
         matches.sort(key=get_rating)
-        #print "Possible lexers, after sort:", matches
-        return matches[-1][0](**options)
-    raise ClassNotFound('no lexer for filename %r found' % _fn)
+        # print "Possible lexers, after sort:", matches
+        return matches[-1][0]
+
+
+def get_lexer_for_filename(_fn, code=None, **options):
+    """Get a lexer for a filename.
+
+    If multiple lexers match the filename pattern, use ``analyse_text()`` to
+    figure out which one is more appropriate.
+
+    Raises ClassNotFound if not found.
+    """
+    res = find_lexer_class_for_filename(_fn, code)
+    if not res:
+        raise ClassNotFound('no lexer for filename %r found' % _fn)
+    return res(**options)
 
 
 def get_lexer_for_mimetype(_mime, **options):
+    """Get a lexer for a mimetype.
+
+    Raises ClassNotFound if not found.
     """
-    Get a lexer for a mimetype.
-    """
-    for modname, name, _, _, mimetypes in LEXERS.itervalues():
+    for modname, name, _, _, mimetypes in itervalues(LEXERS):
         if _mime in mimetypes:
             if name not in _lexer_cache:
                 _load_lexers(modname)
@@ -137,17 +166,16 @@
     raise ClassNotFound('no lexer for mimetype %r found' % _mime)
 
 
-def _iter_lexerclasses():
-    """
-    Return an iterator over all lexer classes.
-    """
+def _iter_lexerclasses(plugins=True):
+    """Return an iterator over all lexer classes."""
     for key in sorted(LEXERS):
         module_name, name = LEXERS[key][:2]
         if name not in _lexer_cache:
             _load_lexers(module_name)
         yield _lexer_cache[name]
-    for lexer in find_plugin_lexers():
-        yield lexer
+    if plugins:
+        for lexer in find_plugin_lexers():
+            yield lexer
 
 
 def guess_lexer_for_filename(_fn, _text, **options):
@@ -167,16 +195,17 @@
         <pygments.lexers.templates.CssPhpLexer object at 0xb7ba518c>
     """
     fn = basename(_fn)
-    primary = None
+    primary = {}
     matching_lexers = set()
     for lexer in _iter_lexerclasses():
         for filename in lexer.filenames:
-            if fnmatch.fnmatch(fn, filename):
+            if _fn_matches(fn, filename):
                 matching_lexers.add(lexer)
-                primary = lexer
+                primary[lexer] = True
         for filename in lexer.alias_filenames:
-            if fnmatch.fnmatch(fn, filename):
+            if _fn_matches(fn, filename):
                 matching_lexers.add(lexer)
+                primary[lexer] = False
     if not matching_lexers:
         raise ClassNotFound('no lexer for filename %r found' % fn)
     if len(matching_lexers) == 1:
@@ -187,16 +216,31 @@
         if rv == 1.0:
             return lexer(**options)
         result.append((rv, lexer))
-    result.sort()
-    if not result[-1][0] and primary is not None:
-        return primary(**options)
+
+    def type_sort(t):
+        # sort by:
+        # - analyse score
+        # - is primary filename pattern?
+        # - priority
+        # - last resort: class name
+        return (t[0], primary[t[1]], t[1].priority, t[1].__name__)
+    result.sort(key=type_sort)
+
     return result[-1][1](**options)
 
 
 def guess_lexer(_text, **options):
-    """
-    Guess a lexer by strong distinctions in the text (eg, shebang).
-    """
+    """Guess a lexer by strong distinctions in the text (eg, shebang)."""
+
+    # try to get a vim modeline first
+    ft = get_filetype_from_buffer(_text)
+
+    if ft is not None:
+        try:
+            return get_lexer_by_name(ft, **options)
+        except ClassNotFound:
+            pass
+
     best_lexer = [0.0, None]
     for lexer in _iter_lexerclasses():
         rv = lexer.analyse_text(_text)
@@ -222,8 +266,8 @@
         raise AttributeError(name)
 
 
-oldmod = sys.modules['pygments.lexers']
-newmod = _automodule('pygments.lexers')
+oldmod = sys.modules[__name__]
+newmod = _automodule(__name__)
 newmod.__dict__.update(oldmod.__dict__)
-sys.modules['pygments.lexers'] = newmod
+sys.modules[__name__] = newmod
 del newmod.newmod, newmod.oldmod, newmod.sys, newmod.types
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/lexers/_asy_builtins.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,1645 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers._asy_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    This file contains the asy-function names and asy-variable names of
+    Asymptote.
+
+    Do not edit the ASYFUNCNAME and ASYVARNAME sets by hand.
+    TODO: perl/python script in Asymptote SVN similar to asy-list.pl but only
+    for function and variable names.
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+ASYFUNCNAME = set((
+    'AND',
+    'Arc',
+    'ArcArrow',
+    'ArcArrows',
+    'Arrow',
+    'Arrows',
+    'Automatic',
+    'AvantGarde',
+    'BBox',
+    'BWRainbow',
+    'BWRainbow2',
+    'Bar',
+    'Bars',
+    'BeginArcArrow',
+    'BeginArrow',
+    'BeginBar',
+    'BeginDotMargin',
+    'BeginMargin',
+    'BeginPenMargin',
+    'Blank',
+    'Bookman',
+    'Bottom',
+    'BottomTop',
+    'Bounds',
+    'Break',
+    'Broken',
+    'BrokenLog',
+    'Ceil',
+    'Circle',
+    'CircleBarIntervalMarker',
+    'Cos',
+    'Courier',
+    'CrossIntervalMarker',
+    'DefaultFormat',
+    'DefaultLogFormat',
+    'Degrees',
+    'Dir',
+    'DotMargin',
+    'DotMargins',
+    'Dotted',
+    'Draw',
+    'Drawline',
+    'Embed',
+    'EndArcArrow',
+    'EndArrow',
+    'EndBar',
+    'EndDotMargin',
+    'EndMargin',
+    'EndPenMargin',
+    'Fill',
+    'FillDraw',
+    'Floor',
+    'Format',
+    'Full',
+    'Gaussian',
+    'Gaussrand',
+    'Gaussrandpair',
+    'Gradient',
+    'Grayscale',
+    'Helvetica',
+    'Hermite',
+    'HookHead',
+    'InOutTicks',
+    'InTicks',
+    'J',
+    'Label',
+    'Landscape',
+    'Left',
+    'LeftRight',
+    'LeftTicks',
+    'Legend',
+    'Linear',
+    'Link',
+    'Log',
+    'LogFormat',
+    'Margin',
+    'Margins',
+    'Mark',
+    'MidArcArrow',
+    'MidArrow',
+    'NOT',
+    'NewCenturySchoolBook',
+    'NoBox',
+    'NoMargin',
+    'NoModifier',
+    'NoTicks',
+    'NoTicks3',
+    'NoZero',
+    'NoZeroFormat',
+    'None',
+    'OR',
+    'OmitFormat',
+    'OmitTick',
+    'OutTicks',
+    'Ox',
+    'Oy',
+    'Palatino',
+    'PaletteTicks',
+    'Pen',
+    'PenMargin',
+    'PenMargins',
+    'Pentype',
+    'Portrait',
+    'RadialShade',
+    'Rainbow',
+    'Range',
+    'Relative',
+    'Right',
+    'RightTicks',
+    'Rotate',
+    'Round',
+    'SQR',
+    'Scale',
+    'ScaleX',
+    'ScaleY',
+    'ScaleZ',
+    'Seascape',
+    'Shift',
+    'Sin',
+    'Slant',
+    'Spline',
+    'StickIntervalMarker',
+    'Straight',
+    'Symbol',
+    'Tan',
+    'TeXify',
+    'Ticks',
+    'Ticks3',
+    'TildeIntervalMarker',
+    'TimesRoman',
+    'Top',
+    'TrueMargin',
+    'UnFill',
+    'UpsideDown',
+    'Wheel',
+    'X',
+    'XEquals',
+    'XOR',
+    'XY',
+    'XYEquals',
+    'XYZero',
+    'XYgrid',
+    'XZEquals',
+    'XZZero',
+    'XZero',
+    'XZgrid',
+    'Y',
+    'YEquals',
+    'YXgrid',
+    'YZ',
+    'YZEquals',
+    'YZZero',
+    'YZero',
+    'YZgrid',
+    'Z',
+    'ZX',
+    'ZXgrid',
+    'ZYgrid',
+    'ZapfChancery',
+    'ZapfDingbats',
+    '_cputime',
+    '_draw',
+    '_eval',
+    '_image',
+    '_labelpath',
+    '_projection',
+    '_strokepath',
+    '_texpath',
+    'aCos',
+    'aSin',
+    'aTan',
+    'abort',
+    'abs',
+    'accel',
+    'acos',
+    'acosh',
+    'acot',
+    'acsc',
+    'add',
+    'addArrow',
+    'addMargins',
+    'addSaveFunction',
+    'addnode',
+    'addnodes',
+    'addpenarc',
+    'addpenline',
+    'addseg',
+    'adjust',
+    'alias',
+    'align',
+    'all',
+    'altitude',
+    'angabscissa',
+    'angle',
+    'angpoint',
+    'animate',
+    'annotate',
+    'anticomplementary',
+    'antipedal',
+    'apply',
+    'approximate',
+    'arc',
+    'arcarrowsize',
+    'arccircle',
+    'arcdir',
+    'arcfromcenter',
+    'arcfromfocus',
+    'arclength',
+    'arcnodesnumber',
+    'arcpoint',
+    'arcsubtended',
+    'arcsubtendedcenter',
+    'arctime',
+    'arctopath',
+    'array',
+    'arrow',
+    'arrow2',
+    'arrowbase',
+    'arrowbasepoints',
+    'arrowsize',
+    'asec',
+    'asin',
+    'asinh',
+    'ask',
+    'assert',
+    'asy',
+    'asycode',
+    'asydir',
+    'asyfigure',
+    'asyfilecode',
+    'asyinclude',
+    'asywrite',
+    'atan',
+    'atan2',
+    'atanh',
+    'atbreakpoint',
+    'atexit',
+    'atime',
+    'attach',
+    'attract',
+    'atupdate',
+    'autoformat',
+    'autoscale',
+    'autoscale3',
+    'axes',
+    'axes3',
+    'axialshade',
+    'axis',
+    'axiscoverage',
+    'azimuth',
+    'babel',
+    'background',
+    'bangles',
+    'bar',
+    'barmarksize',
+    'barsize',
+    'basealign',
+    'baseline',
+    'bbox',
+    'beep',
+    'begin',
+    'beginclip',
+    'begingroup',
+    'beginpoint',
+    'between',
+    'bevel',
+    'bezier',
+    'bezierP',
+    'bezierPP',
+    'bezierPPP',
+    'bezulate',
+    'bibliography',
+    'bibliographystyle',
+    'binarytree',
+    'binarytreeNode',
+    'binomial',
+    'binput',
+    'bins',
+    'bisector',
+    'bisectorpoint',
+    'blend',
+    'boutput',
+    'box',
+    'bqe',
+    'breakpoint',
+    'breakpoints',
+    'brick',
+    'buildRestoreDefaults',
+    'buildRestoreThunk',
+    'buildcycle',
+    'bulletcolor',
+    'canonical',
+    'canonicalcartesiansystem',
+    'cartesiansystem',
+    'case1',
+    'case2',
+    'case3',
+    'cbrt',
+    'cd',
+    'ceil',
+    'center',
+    'centerToFocus',
+    'centroid',
+    'cevian',
+    'change2',
+    'changecoordsys',
+    'checkSegment',
+    'checkconditionlength',
+    'checker',
+    'checklengths',
+    'checkposition',
+    'checktriangle',
+    'choose',
+    'circle',
+    'circlebarframe',
+    'circlemarkradius',
+    'circlenodesnumber',
+    'circumcenter',
+    'circumcircle',
+    'clamped',
+    'clear',
+    'clip',
+    'clipdraw',
+    'close',
+    'cmyk',
+    'code',
+    'colatitude',
+    'collect',
+    'collinear',
+    'color',
+    'colorless',
+    'colors',
+    'colorspace',
+    'comma',
+    'compassmark',
+    'complement',
+    'complementary',
+    'concat',
+    'concurrent',
+    'cone',
+    'conic',
+    'conicnodesnumber',
+    'conictype',
+    'conj',
+    'connect',
+    'containmentTree',
+    'contains',
+    'contour',
+    'contour3',
+    'controlSpecifier',
+    'convert',
+    'coordinates',
+    'coordsys',
+    'copy',
+    'cos',
+    'cosh',
+    'cot',
+    'countIntersections',
+    'cputime',
+    'crop',
+    'cropcode',
+    'cross',
+    'crossframe',
+    'crosshatch',
+    'crossmarksize',
+    'csc',
+    'cubicroots',
+    'curabscissa',
+    'curlSpecifier',
+    'curpoint',
+    'currentarrow',
+    'currentexitfunction',
+    'currentmomarrow',
+    'currentpolarconicroutine',
+    'curve',
+    'cut',
+    'cutafter',
+    'cutbefore',
+    'cyclic',
+    'cylinder',
+    'debugger',
+    'deconstruct',
+    'defaultdir',
+    'defaultformat',
+    'defaultpen',
+    'defined',
+    'degenerate',
+    'degrees',
+    'delete',
+    'deletepreamble',
+    'determinant',
+    'diagonal',
+    'diamond',
+    'diffdiv',
+    'dir',
+    'dirSpecifier',
+    'dirtime',
+    'display',
+    'distance',
+    'divisors',
+    'do_overpaint',
+    'dot',
+    'dotframe',
+    'dotsize',
+    'downcase',
+    'draw',
+    'drawAll',
+    'drawDoubleLine',
+    'drawFermion',
+    'drawGhost',
+    'drawGluon',
+    'drawMomArrow',
+    'drawPhoton',
+    'drawScalar',
+    'drawVertex',
+    'drawVertexBox',
+    'drawVertexBoxO',
+    'drawVertexBoxX',
+    'drawVertexO',
+    'drawVertexOX',
+    'drawVertexTriangle',
+    'drawVertexTriangleO',
+    'drawVertexX',
+    'drawarrow',
+    'drawarrow2',
+    'drawline',
+    'drawtick',
+    'duplicate',
+    'elle',
+    'ellipse',
+    'ellipsenodesnumber',
+    'embed',
+    'embed3',
+    'empty',
+    'enclose',
+    'end',
+    'endScript',
+    'endclip',
+    'endgroup',
+    'endl',
+    'endpoint',
+    'endpoints',
+    'eof',
+    'eol',
+    'equation',
+    'equations',
+    'erase',
+    'erasestep',
+    'erf',
+    'erfc',
+    'error',
+    'errorbar',
+    'errorbars',
+    'eval',
+    'excenter',
+    'excircle',
+    'exit',
+    'exitXasyMode',
+    'exitfunction',
+    'exp',
+    'expfactors',
+    'expi',
+    'expm1',
+    'exradius',
+    'extend',
+    'extension',
+    'extouch',
+    'fabs',
+    'factorial',
+    'fermat',
+    'fft',
+    'fhorner',
+    'figure',
+    'file',
+    'filecode',
+    'fill',
+    'filldraw',
+    'filloutside',
+    'fillrule',
+    'filltype',
+    'find',
+    'finite',
+    'finiteDifferenceJacobian',
+    'firstcut',
+    'firstframe',
+    'fit',
+    'fit2',
+    'fixedscaling',
+    'floor',
+    'flush',
+    'fmdefaults',
+    'fmod',
+    'focusToCenter',
+    'font',
+    'fontcommand',
+    'fontsize',
+    'foot',
+    'format',
+    'frac',
+    'frequency',
+    'fromCenter',
+    'fromFocus',
+    'fspline',
+    'functionshade',
+    'gamma',
+    'generate_random_backtrace',
+    'generateticks',
+    'gergonne',
+    'getc',
+    'getint',
+    'getpair',
+    'getreal',
+    'getstring',
+    'gettriple',
+    'gluon',
+    'gouraudshade',
+    'graph',
+    'graphic',
+    'gray',
+    'grestore',
+    'grid',
+    'grid3',
+    'gsave',
+    'halfbox',
+    'hatch',
+    'hdiffdiv',
+    'hermite',
+    'hex',
+    'histogram',
+    'history',
+    'hline',
+    'hprojection',
+    'hsv',
+    'hyperbola',
+    'hyperbolanodesnumber',
+    'hyperlink',
+    'hypot',
+    'identity',
+    'image',
+    'incenter',
+    'incentral',
+    'incircle',
+    'increasing',
+    'incrementposition',
+    'indexedTransform',
+    'indexedfigure',
+    'initXasyMode',
+    'initdefaults',
+    'input',
+    'inradius',
+    'insert',
+    'inside',
+    'integrate',
+    'interactive',
+    'interior',
+    'interp',
+    'interpolate',
+    'intersect',
+    'intersection',
+    'intersectionpoint',
+    'intersectionpoints',
+    'intersections',
+    'intouch',
+    'inverse',
+    'inversion',
+    'invisible',
+    'is3D',
+    'isDuplicate',
+    'isogonal',
+    'isogonalconjugate',
+    'isotomic',
+    'isotomicconjugate',
+    'isparabola',
+    'italic',
+    'item',
+    'key',
+    'kurtosis',
+    'kurtosisexcess',
+    'label',
+    'labelaxis',
+    'labelmargin',
+    'labelpath',
+    'labels',
+    'labeltick',
+    'labelx',
+    'labelx3',
+    'labely',
+    'labely3',
+    'labelz',
+    'labelz3',
+    'lastcut',
+    'latex',
+    'latitude',
+    'latticeshade',
+    'layer',
+    'layout',
+    'ldexp',
+    'leastsquares',
+    'legend',
+    'legenditem',
+    'length',
+    'lift',
+    'light',
+    'limits',
+    'line',
+    'linear',
+    'linecap',
+    'lineinversion',
+    'linejoin',
+    'linemargin',
+    'lineskip',
+    'linetype',
+    'linewidth',
+    'link',
+    'list',
+    'lm_enorm',
+    'lm_evaluate_default',
+    'lm_lmdif',
+    'lm_lmpar',
+    'lm_minimize',
+    'lm_print_default',
+    'lm_print_quiet',
+    'lm_qrfac',
+    'lm_qrsolv',
+    'locale',
+    'locate',
+    'locatefile',
+    'location',
+    'log',
+    'log10',
+    'log1p',
+    'logaxiscoverage',
+    'longitude',
+    'lookup',
+    'magnetize',
+    'makeNode',
+    'makedraw',
+    'makepen',
+    'map',
+    'margin',
+    'markangle',
+    'markangleradius',
+    'markanglespace',
+    'markarc',
+    'marker',
+    'markinterval',
+    'marknodes',
+    'markrightangle',
+    'markuniform',
+    'mass',
+    'masscenter',
+    'massformat',
+    'math',
+    'max',
+    'max3',
+    'maxbezier',
+    'maxbound',
+    'maxcoords',
+    'maxlength',
+    'maxratio',
+    'maxtimes',
+    'mean',
+    'medial',
+    'median',
+    'midpoint',
+    'min',
+    'min3',
+    'minbezier',
+    'minbound',
+    'minipage',
+    'minratio',
+    'mintimes',
+    'miterlimit',
+    'momArrowPath',
+    'momarrowsize',
+    'monotonic',
+    'multifigure',
+    'nativeformat',
+    'natural',
+    'needshipout',
+    'newl',
+    'newpage',
+    'newslide',
+    'newton',
+    'newtree',
+    'nextframe',
+    'nextnormal',
+    'nextpage',
+    'nib',
+    'nodabscissa',
+    'none',
+    'norm',
+    'normalvideo',
+    'notaknot',
+    'nowarn',
+    'numberpage',
+    'nurb',
+    'object',
+    'offset',
+    'onpath',
+    'opacity',
+    'opposite',
+    'orientation',
+    'orig_circlenodesnumber',
+    'orig_circlenodesnumber1',
+    'orig_draw',
+    'orig_ellipsenodesnumber',
+    'orig_ellipsenodesnumber1',
+    'orig_hyperbolanodesnumber',
+    'orig_parabolanodesnumber',
+    'origin',
+    'orthic',
+    'orthocentercenter',
+    'outformat',
+    'outline',
+    'outprefix',
+    'output',
+    'overloadedMessage',
+    'overwrite',
+    'pack',
+    'pad',
+    'pairs',
+    'palette',
+    'parabola',
+    'parabolanodesnumber',
+    'parallel',
+    'partialsum',
+    'path',
+    'path3',
+    'pattern',
+    'pause',
+    'pdf',
+    'pedal',
+    'periodic',
+    'perp',
+    'perpendicular',
+    'perpendicularmark',
+    'phantom',
+    'phi1',
+    'phi2',
+    'phi3',
+    'photon',
+    'piecewisestraight',
+    'point',
+    'polar',
+    'polarconicroutine',
+    'polargraph',
+    'polygon',
+    'postcontrol',
+    'postscript',
+    'pow10',
+    'ppoint',
+    'prc',
+    'prc0',
+    'precision',
+    'precontrol',
+    'prepend',
+    'print_random_addresses',
+    'project',
+    'projection',
+    'purge',
+    'pwhermite',
+    'quadrant',
+    'quadraticroots',
+    'quantize',
+    'quarticroots',
+    'quotient',
+    'radialshade',
+    'radians',
+    'radicalcenter',
+    'radicalline',
+    'radius',
+    'rand',
+    'randompath',
+    'rd',
+    'readline',
+    'realmult',
+    'realquarticroots',
+    'rectangle',
+    'rectangular',
+    'rectify',
+    'reflect',
+    'relabscissa',
+    'relative',
+    'relativedistance',
+    'reldir',
+    'relpoint',
+    'reltime',
+    'remainder',
+    'remark',
+    'removeDuplicates',
+    'rename',
+    'replace',
+    'report',
+    'resetdefaultpen',
+    'restore',
+    'restoredefaults',
+    'reverse',
+    'reversevideo',
+    'rf',
+    'rfind',
+    'rgb',
+    'rgba',
+    'rgbint',
+    'rms',
+    'rotate',
+    'rotateO',
+    'rotation',
+    'round',
+    'roundbox',
+    'roundedpath',
+    'roundrectangle',
+    'samecoordsys',
+    'sameside',
+    'sample',
+    'save',
+    'savedefaults',
+    'saveline',
+    'scale',
+    'scale3',
+    'scaleO',
+    'scaleT',
+    'scaleless',
+    'scientific',
+    'search',
+    'searchtree',
+    'sec',
+    'secondaryX',
+    'secondaryY',
+    'seconds',
+    'section',
+    'sector',
+    'seek',
+    'seekeof',
+    'segment',
+    'sequence',
+    'setpens',
+    'sgn',
+    'sgnd',
+    'sharpangle',
+    'sharpdegrees',
+    'shift',
+    'shiftless',
+    'shipout',
+    'shipout3',
+    'show',
+    'side',
+    'simeq',
+    'simpson',
+    'sin',
+    'single',
+    'sinh',
+    'size',
+    'size3',
+    'skewness',
+    'skip',
+    'slant',
+    'sleep',
+    'slope',
+    'slopefield',
+    'solve',
+    'solveBVP',
+    'sort',
+    'sourceline',
+    'sphere',
+    'split',
+    'sqrt',
+    'square',
+    'srand',
+    'standardizecoordsys',
+    'startScript',
+    'startTrembling',
+    'stdev',
+    'step',
+    'stickframe',
+    'stickmarksize',
+    'stickmarkspace',
+    'stop',
+    'straight',
+    'straightness',
+    'string',
+    'stripdirectory',
+    'stripextension',
+    'stripfile',
+    'strokepath',
+    'subdivide',
+    'subitem',
+    'subpath',
+    'substr',
+    'sum',
+    'surface',
+    'symmedial',
+    'symmedian',
+    'system',
+    'tab',
+    'tableau',
+    'tan',
+    'tangent',
+    'tangential',
+    'tangents',
+    'tanh',
+    'tell',
+    'tensionSpecifier',
+    'tensorshade',
+    'tex',
+    'texcolor',
+    'texify',
+    'texpath',
+    'texpreamble',
+    'texreset',
+    'texshipout',
+    'texsize',
+    'textpath',
+    'thick',
+    'thin',
+    'tick',
+    'tickMax',
+    'tickMax3',
+    'tickMin',
+    'tickMin3',
+    'ticklabelshift',
+    'ticklocate',
+    'tildeframe',
+    'tildemarksize',
+    'tile',
+    'tiling',
+    'time',
+    'times',
+    'title',
+    'titlepage',
+    'topbox',
+    'transform',
+    'transformation',
+    'transpose',
+    'tremble',
+    'trembleFuzz',
+    'tremble_circlenodesnumber',
+    'tremble_circlenodesnumber1',
+    'tremble_draw',
+    'tremble_ellipsenodesnumber',
+    'tremble_ellipsenodesnumber1',
+    'tremble_hyperbolanodesnumber',
+    'tremble_marknodes',
+    'tremble_markuniform',
+    'tremble_parabolanodesnumber',
+    'triangle',
+    'triangleAbc',
+    'triangleabc',
+    'triangulate',
+    'tricoef',
+    'tridiagonal',
+    'trilinear',
+    'trim',
+    'trueMagnetize',
+    'truepoint',
+    'tube',
+    'uncycle',
+    'unfill',
+    'uniform',
+    'unit',
+    'unitrand',
+    'unitsize',
+    'unityroot',
+    'unstraighten',
+    'upcase',
+    'updatefunction',
+    'uperiodic',
+    'upscale',
+    'uptodate',
+    'usepackage',
+    'usersetting',
+    'usetypescript',
+    'usleep',
+    'value',
+    'variance',
+    'variancebiased',
+    'vbox',
+    'vector',
+    'vectorfield',
+    'verbatim',
+    'view',
+    'vline',
+    'vperiodic',
+    'vprojection',
+    'warn',
+    'warning',
+    'windingnumber',
+    'write',
+    'xaxis',
+    'xaxis3',
+    'xaxis3At',
+    'xaxisAt',
+    'xequals',
+    'xinput',
+    'xlimits',
+    'xoutput',
+    'xpart',
+    'xscale',
+    'xscaleO',
+    'xtick',
+    'xtick3',
+    'xtrans',
+    'yaxis',
+    'yaxis3',
+    'yaxis3At',
+    'yaxisAt',
+    'yequals',
+    'ylimits',
+    'ypart',
+    'yscale',
+    'yscaleO',
+    'ytick',
+    'ytick3',
+    'ytrans',
+    'zaxis3',
+    'zaxis3At',
+    'zero',
+    'zero3',
+    'zlimits',
+    'zpart',
+    'ztick',
+    'ztick3',
+    'ztrans'
+))
+
+ASYVARNAME = set((
+    'AliceBlue',
+    'Align',
+    'Allow',
+    'AntiqueWhite',
+    'Apricot',
+    'Aqua',
+    'Aquamarine',
+    'Aspect',
+    'Azure',
+    'BeginPoint',
+    'Beige',
+    'Bisque',
+    'Bittersweet',
+    'Black',
+    'BlanchedAlmond',
+    'Blue',
+    'BlueGreen',
+    'BlueViolet',
+    'Both',
+    'Break',
+    'BrickRed',
+    'Brown',
+    'BurlyWood',
+    'BurntOrange',
+    'CCW',
+    'CW',
+    'CadetBlue',
+    'CarnationPink',
+    'Center',
+    'Centered',
+    'Cerulean',
+    'Chartreuse',
+    'Chocolate',
+    'Coeff',
+    'Coral',
+    'CornflowerBlue',
+    'Cornsilk',
+    'Crimson',
+    'Crop',
+    'Cyan',
+    'Dandelion',
+    'DarkBlue',
+    'DarkCyan',
+    'DarkGoldenrod',
+    'DarkGray',
+    'DarkGreen',
+    'DarkKhaki',
+    'DarkMagenta',
+    'DarkOliveGreen',
+    'DarkOrange',
+    'DarkOrchid',
+    'DarkRed',
+    'DarkSalmon',
+    'DarkSeaGreen',
+    'DarkSlateBlue',
+    'DarkSlateGray',
+    'DarkTurquoise',
+    'DarkViolet',
+    'DeepPink',
+    'DeepSkyBlue',
+    'DefaultHead',
+    'DimGray',
+    'DodgerBlue',
+    'Dotted',
+    'Draw',
+    'E',
+    'ENE',
+    'EPS',
+    'ESE',
+    'E_Euler',
+    'E_PC',
+    'E_RK2',
+    'E_RK3BS',
+    'Emerald',
+    'EndPoint',
+    'Euler',
+    'Fill',
+    'FillDraw',
+    'FireBrick',
+    'FloralWhite',
+    'ForestGreen',
+    'Fuchsia',
+    'Gainsboro',
+    'GhostWhite',
+    'Gold',
+    'Goldenrod',
+    'Gray',
+    'Green',
+    'GreenYellow',
+    'Honeydew',
+    'HookHead',
+    'Horizontal',
+    'HotPink',
+    'I',
+    'IgnoreAspect',
+    'IndianRed',
+    'Indigo',
+    'Ivory',
+    'JOIN_IN',
+    'JOIN_OUT',
+    'JungleGreen',
+    'Khaki',
+    'LM_DWARF',
+    'LM_MACHEP',
+    'LM_SQRT_DWARF',
+    'LM_SQRT_GIANT',
+    'LM_USERTOL',
+    'Label',
+    'Lavender',
+    'LavenderBlush',
+    'LawnGreen',
+    'LeftJustified',
+    'LeftSide',
+    'LemonChiffon',
+    'LightBlue',
+    'LightCoral',
+    'LightCyan',
+    'LightGoldenrodYellow',
+    'LightGreen',
+    'LightGrey',
+    'LightPink',
+    'LightSalmon',
+    'LightSeaGreen',
+    'LightSkyBlue',
+    'LightSlateGray',
+    'LightSteelBlue',
+    'LightYellow',
+    'Lime',
+    'LimeGreen',
+    'Linear',
+    'Linen',
+    'Log',
+    'Logarithmic',
+    'Magenta',
+    'Mahogany',
+    'Mark',
+    'MarkFill',
+    'Maroon',
+    'Max',
+    'MediumAquamarine',
+    'MediumBlue',
+    'MediumOrchid',
+    'MediumPurple',
+    'MediumSeaGreen',
+    'MediumSlateBlue',
+    'MediumSpringGreen',
+    'MediumTurquoise',
+    'MediumVioletRed',
+    'Melon',
+    'MidPoint',
+    'MidnightBlue',
+    'Min',
+    'MintCream',
+    'MistyRose',
+    'Moccasin',
+    'Move',
+    'MoveQuiet',
+    'Mulberry',
+    'N',
+    'NE',
+    'NNE',
+    'NNW',
+    'NW',
+    'NavajoWhite',
+    'Navy',
+    'NavyBlue',
+    'NoAlign',
+    'NoCrop',
+    'NoFill',
+    'NoSide',
+    'OldLace',
+    'Olive',
+    'OliveDrab',
+    'OliveGreen',
+    'Orange',
+    'OrangeRed',
+    'Orchid',
+    'Ox',
+    'Oy',
+    'PC',
+    'PaleGoldenrod',
+    'PaleGreen',
+    'PaleTurquoise',
+    'PaleVioletRed',
+    'PapayaWhip',
+    'Peach',
+    'PeachPuff',
+    'Periwinkle',
+    'Peru',
+    'PineGreen',
+    'Pink',
+    'Plum',
+    'PowderBlue',
+    'ProcessBlue',
+    'Purple',
+    'RK2',
+    'RK3',
+    'RK3BS',
+    'RK4',
+    'RK5',
+    'RK5DP',
+    'RK5F',
+    'RawSienna',
+    'Red',
+    'RedOrange',
+    'RedViolet',
+    'Rhodamine',
+    'RightJustified',
+    'RightSide',
+    'RosyBrown',
+    'RoyalBlue',
+    'RoyalPurple',
+    'RubineRed',
+    'S',
+    'SE',
+    'SSE',
+    'SSW',
+    'SW',
+    'SaddleBrown',
+    'Salmon',
+    'SandyBrown',
+    'SeaGreen',
+    'Seashell',
+    'Sepia',
+    'Sienna',
+    'Silver',
+    'SimpleHead',
+    'SkyBlue',
+    'SlateBlue',
+    'SlateGray',
+    'Snow',
+    'SpringGreen',
+    'SteelBlue',
+    'Suppress',
+    'SuppressQuiet',
+    'Tan',
+    'TeXHead',
+    'Teal',
+    'TealBlue',
+    'Thistle',
+    'Ticksize',
+    'Tomato',
+    'Turquoise',
+    'UnFill',
+    'VERSION',
+    'Value',
+    'Vertical',
+    'Violet',
+    'VioletRed',
+    'W',
+    'WNW',
+    'WSW',
+    'Wheat',
+    'White',
+    'WhiteSmoke',
+    'WildStrawberry',
+    'XYAlign',
+    'YAlign',
+    'Yellow',
+    'YellowGreen',
+    'YellowOrange',
+    'addpenarc',
+    'addpenline',
+    'align',
+    'allowstepping',
+    'angularsystem',
+    'animationdelay',
+    'appendsuffix',
+    'arcarrowangle',
+    'arcarrowfactor',
+    'arrow2sizelimit',
+    'arrowangle',
+    'arrowbarb',
+    'arrowdir',
+    'arrowfactor',
+    'arrowhookfactor',
+    'arrowlength',
+    'arrowsizelimit',
+    'arrowtexfactor',
+    'authorpen',
+    'axis',
+    'axiscoverage',
+    'axislabelfactor',
+    'background',
+    'backgroundcolor',
+    'backgroundpen',
+    'barfactor',
+    'barmarksizefactor',
+    'basealign',
+    'baselinetemplate',
+    'beveljoin',
+    'bigvertexpen',
+    'bigvertexsize',
+    'black',
+    'blue',
+    'bm',
+    'bottom',
+    'bp',
+    'brown',
+    'bullet',
+    'byfoci',
+    'byvertices',
+    'camerafactor',
+    'chartreuse',
+    'circlemarkradiusfactor',
+    'circlenodesnumberfactor',
+    'circleprecision',
+    'circlescale',
+    'cm',
+    'codefile',
+    'codepen',
+    'codeskip',
+    'colorPen',
+    'coloredNodes',
+    'coloredSegments',
+    'conditionlength',
+    'conicnodesfactor',
+    'count',
+    'cputimeformat',
+    'crossmarksizefactor',
+    'currentcoordsys',
+    'currentlight',
+    'currentpatterns',
+    'currentpen',
+    'currentpicture',
+    'currentposition',
+    'currentprojection',
+    'curvilinearsystem',
+    'cuttings',
+    'cyan',
+    'darkblue',
+    'darkbrown',
+    'darkcyan',
+    'darkgray',
+    'darkgreen',
+    'darkgrey',
+    'darkmagenta',
+    'darkolive',
+    'darkred',
+    'dashdotted',
+    'dashed',
+    'datepen',
+    'dateskip',
+    'debuggerlines',
+    'debugging',
+    'deepblue',
+    'deepcyan',
+    'deepgray',
+    'deepgreen',
+    'deepgrey',
+    'deepmagenta',
+    'deepred',
+    'default',
+    'defaultControl',
+    'defaultS',
+    'defaultbackpen',
+    'defaultcoordsys',
+    'defaultfilename',
+    'defaultformat',
+    'defaultmassformat',
+    'defaultpen',
+    'diagnostics',
+    'differentlengths',
+    'dot',
+    'dotfactor',
+    'dotframe',
+    'dotted',
+    'doublelinepen',
+    'doublelinespacing',
+    'down',
+    'duplicateFuzz',
+    'ellipsenodesnumberfactor',
+    'eps',
+    'epsgeo',
+    'epsilon',
+    'evenodd',
+    'extendcap',
+    'fermionpen',
+    'figureborder',
+    'figuremattpen',
+    'firstnode',
+    'firststep',
+    'foregroundcolor',
+    'fuchsia',
+    'fuzz',
+    'gapfactor',
+    'ghostpen',
+    'gluonamplitude',
+    'gluonpen',
+    'gluonratio',
+    'gray',
+    'green',
+    'grey',
+    'hatchepsilon',
+    'havepagenumber',
+    'heavyblue',
+    'heavycyan',
+    'heavygray',
+    'heavygreen',
+    'heavygrey',
+    'heavymagenta',
+    'heavyred',
+    'hline',
+    'hwratio',
+    'hyperbolanodesnumberfactor',
+    'identity4',
+    'ignore',
+    'inXasyMode',
+    'inch',
+    'inches',
+    'includegraphicscommand',
+    'inf',
+    'infinity',
+    'institutionpen',
+    'intMax',
+    'intMin',
+    'invert',
+    'invisible',
+    'itempen',
+    'itemskip',
+    'itemstep',
+    'labelmargin',
+    'landscape',
+    'lastnode',
+    'left',
+    'legendhskip',
+    'legendlinelength',
+    'legendmargin',
+    'legendmarkersize',
+    'legendmaxrelativewidth',
+    'legendvskip',
+    'lightblue',
+    'lightcyan',
+    'lightgray',
+    'lightgreen',
+    'lightgrey',
+    'lightmagenta',
+    'lightolive',
+    'lightred',
+    'lightyellow',
+    'linemargin',
+    'lm_infmsg',
+    'lm_shortmsg',
+    'longdashdotted',
+    'longdashed',
+    'magenta',
+    'magneticPoints',
+    'magneticRadius',
+    'mantissaBits',
+    'markangleradius',
+    'markangleradiusfactor',
+    'markanglespace',
+    'markanglespacefactor',
+    'mediumblue',
+    'mediumcyan',
+    'mediumgray',
+    'mediumgreen',
+    'mediumgrey',
+    'mediummagenta',
+    'mediumred',
+    'mediumyellow',
+    'middle',
+    'minDistDefault',
+    'minblockheight',
+    'minblockwidth',
+    'mincirclediameter',
+    'minipagemargin',
+    'minipagewidth',
+    'minvertexangle',
+    'miterjoin',
+    'mm',
+    'momarrowfactor',
+    'momarrowlength',
+    'momarrowmargin',
+    'momarrowoffset',
+    'momarrowpen',
+    'monoPen',
+    'morepoints',
+    'nCircle',
+    'newbulletcolor',
+    'ngraph',
+    'nil',
+    'nmesh',
+    'nobasealign',
+    'nodeMarginDefault',
+    'nodesystem',
+    'nomarker',
+    'nopoint',
+    'noprimary',
+    'nullpath',
+    'nullpen',
+    'numarray',
+    'ocgindex',
+    'oldbulletcolor',
+    'olive',
+    'orange',
+    'origin',
+    'overpaint',
+    'page',
+    'pageheight',
+    'pagemargin',
+    'pagenumberalign',
+    'pagenumberpen',
+    'pagenumberposition',
+    'pagewidth',
+    'paleblue',
+    'palecyan',
+    'palegray',
+    'palegreen',
+    'palegrey',
+    'palemagenta',
+    'palered',
+    'paleyellow',
+    'parabolanodesnumberfactor',
+    'perpfactor',
+    'phi',
+    'photonamplitude',
+    'photonpen',
+    'photonratio',
+    'pi',
+    'pink',
+    'plain',
+    'plus',
+    'preamblenodes',
+    'pt',
+    'purple',
+    'r3',
+    'r4a',
+    'r4b',
+    'randMax',
+    'realDigits',
+    'realEpsilon',
+    'realMax',
+    'realMin',
+    'red',
+    'relativesystem',
+    'reverse',
+    'right',
+    'roundcap',
+    'roundjoin',
+    'royalblue',
+    'salmon',
+    'saveFunctions',
+    'scalarpen',
+    'sequencereal',
+    'settings',
+    'shipped',
+    'signedtrailingzero',
+    'solid',
+    'springgreen',
+    'sqrtEpsilon',
+    'squarecap',
+    'squarepen',
+    'startposition',
+    'stdin',
+    'stdout',
+    'stepfactor',
+    'stepfraction',
+    'steppagenumberpen',
+    'stepping',
+    'stickframe',
+    'stickmarksizefactor',
+    'stickmarkspacefactor',
+    'textpen',
+    'ticksize',
+    'tildeframe',
+    'tildemarksizefactor',
+    'tinv',
+    'titlealign',
+    'titlepagepen',
+    'titlepageposition',
+    'titlepen',
+    'titleskip',
+    'top',
+    'trailingzero',
+    'treeLevelStep',
+    'treeMinNodeWidth',
+    'treeNodeStep',
+    'trembleAngle',
+    'trembleFrequency',
+    'trembleRandom',
+    'tremblingMode',
+    'undefined',
+    'unitcircle',
+    'unitsquare',
+    'up',
+    'urlpen',
+    'urlskip',
+    'version',
+    'vertexpen',
+    'vertexsize',
+    'viewportmargin',
+    'viewportsize',
+    'vline',
+    'white',
+    'wye',
+    'xformStack',
+    'yellow',
+    'ylabelwidth',
+    'zerotickfuzz',
+    'zerowinding'
+))
--- a/MoinMoin/support/pygments/lexers/_asybuiltins.py	Mon Sep 05 23:44:04 2016 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1645 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    pygments.lexers._asybuiltins
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-    This file contains the asy-function names and asy-variable names of
-    Asymptote.
-
-    Do not edit the ASYFUNCNAME and ASYVARNAME sets by hand.
-    TODO: perl/python script in Asymptote SVN similar to asy-list.pl but only
-    for function and variable names.
-
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
-    :license: BSD, see LICENSE for details.
-"""
-
-ASYFUNCNAME = set([
-    'AND',
-    'Arc',
-    'ArcArrow',
-    'ArcArrows',
-    'Arrow',
-    'Arrows',
-    'Automatic',
-    'AvantGarde',
-    'BBox',
-    'BWRainbow',
-    'BWRainbow2',
-    'Bar',
-    'Bars',
-    'BeginArcArrow',
-    'BeginArrow',
-    'BeginBar',
-    'BeginDotMargin',
-    'BeginMargin',
-    'BeginPenMargin',
-    'Blank',
-    'Bookman',
-    'Bottom',
-    'BottomTop',
-    'Bounds',
-    'Break',
-    'Broken',
-    'BrokenLog',
-    'Ceil',
-    'Circle',
-    'CircleBarIntervalMarker',
-    'Cos',
-    'Courier',
-    'CrossIntervalMarker',
-    'DefaultFormat',
-    'DefaultLogFormat',
-    'Degrees',
-    'Dir',
-    'DotMargin',
-    'DotMargins',
-    'Dotted',
-    'Draw',
-    'Drawline',
-    'Embed',
-    'EndArcArrow',
-    'EndArrow',
-    'EndBar',
-    'EndDotMargin',
-    'EndMargin',
-    'EndPenMargin',
-    'Fill',
-    'FillDraw',
-    'Floor',
-    'Format',
-    'Full',
-    'Gaussian',
-    'Gaussrand',
-    'Gaussrandpair',
-    'Gradient',
-    'Grayscale',
-    'Helvetica',
-    'Hermite',
-    'HookHead',
-    'InOutTicks',
-    'InTicks',
-    'J',
-    'Label',
-    'Landscape',
-    'Left',
-    'LeftRight',
-    'LeftTicks',
-    'Legend',
-    'Linear',
-    'Link',
-    'Log',
-    'LogFormat',
-    'Margin',
-    'Margins',
-    'Mark',
-    'MidArcArrow',
-    'MidArrow',
-    'NOT',
-    'NewCenturySchoolBook',
-    'NoBox',
-    'NoMargin',
-    'NoModifier',
-    'NoTicks',
-    'NoTicks3',
-    'NoZero',
-    'NoZeroFormat',
-    'None',
-    'OR',
-    'OmitFormat',
-    'OmitTick',
-    'OutTicks',
-    'Ox',
-    'Oy',
-    'Palatino',
-    'PaletteTicks',
-    'Pen',
-    'PenMargin',
-    'PenMargins',
-    'Pentype',
-    'Portrait',
-    'RadialShade',
-    'Rainbow',
-    'Range',
-    'Relative',
-    'Right',
-    'RightTicks',
-    'Rotate',
-    'Round',
-    'SQR',
-    'Scale',
-    'ScaleX',
-    'ScaleY',
-    'ScaleZ',
-    'Seascape',
-    'Shift',
-    'Sin',
-    'Slant',
-    'Spline',
-    'StickIntervalMarker',
-    'Straight',
-    'Symbol',
-    'Tan',
-    'TeXify',
-    'Ticks',
-    'Ticks3',
-    'TildeIntervalMarker',
-    'TimesRoman',
-    'Top',
-    'TrueMargin',
-    'UnFill',
-    'UpsideDown',
-    'Wheel',
-    'X',
-    'XEquals',
-    'XOR',
-    'XY',
-    'XYEquals',
-    'XYZero',
-    'XYgrid',
-    'XZEquals',
-    'XZZero',
-    'XZero',
-    'XZgrid',
-    'Y',
-    'YEquals',
-    'YXgrid',
-    'YZ',
-    'YZEquals',
-    'YZZero',
-    'YZero',
-    'YZgrid',
-    'Z',
-    'ZX',
-    'ZXgrid',
-    'ZYgrid',
-    'ZapfChancery',
-    'ZapfDingbats',
-    '_cputime',
-    '_draw',
-    '_eval',
-    '_image',
-    '_labelpath',
-    '_projection',
-    '_strokepath',
-    '_texpath',
-    'aCos',
-    'aSin',
-    'aTan',
-    'abort',
-    'abs',
-    'accel',
-    'acos',
-    'acosh',
-    'acot',
-    'acsc',
-    'add',
-    'addArrow',
-    'addMargins',
-    'addSaveFunction',
-    'addnode',
-    'addnodes',
-    'addpenarc',
-    'addpenline',
-    'addseg',
-    'adjust',
-    'alias',
-    'align',
-    'all',
-    'altitude',
-    'angabscissa',
-    'angle',
-    'angpoint',
-    'animate',
-    'annotate',
-    'anticomplementary',
-    'antipedal',
-    'apply',
-    'approximate',
-    'arc',
-    'arcarrowsize',
-    'arccircle',
-    'arcdir',
-    'arcfromcenter',
-    'arcfromfocus',
-    'arclength',
-    'arcnodesnumber',
-    'arcpoint',
-    'arcsubtended',
-    'arcsubtendedcenter',
-    'arctime',
-    'arctopath',
-    'array',
-    'arrow',
-    'arrow2',
-    'arrowbase',
-    'arrowbasepoints',
-    'arrowsize',
-    'asec',
-    'asin',
-    'asinh',
-    'ask',
-    'assert',
-    'asy',
-    'asycode',
-    'asydir',
-    'asyfigure',
-    'asyfilecode',
-    'asyinclude',
-    'asywrite',
-    'atan',
-    'atan2',
-    'atanh',
-    'atbreakpoint',
-    'atexit',
-    'atime',
-    'attach',
-    'attract',
-    'atupdate',
-    'autoformat',
-    'autoscale',
-    'autoscale3',
-    'axes',
-    'axes3',
-    'axialshade',
-    'axis',
-    'axiscoverage',
-    'azimuth',
-    'babel',
-    'background',
-    'bangles',
-    'bar',
-    'barmarksize',
-    'barsize',
-    'basealign',
-    'baseline',
-    'bbox',
-    'beep',
-    'begin',
-    'beginclip',
-    'begingroup',
-    'beginpoint',
-    'between',
-    'bevel',
-    'bezier',
-    'bezierP',
-    'bezierPP',
-    'bezierPPP',
-    'bezulate',
-    'bibliography',
-    'bibliographystyle',
-    'binarytree',
-    'binarytreeNode',
-    'binomial',
-    'binput',
-    'bins',
-    'bisector',
-    'bisectorpoint',
-    'blend',
-    'boutput',
-    'box',
-    'bqe',
-    'breakpoint',
-    'breakpoints',
-    'brick',
-    'buildRestoreDefaults',
-    'buildRestoreThunk',
-    'buildcycle',
-    'bulletcolor',
-    'canonical',
-    'canonicalcartesiansystem',
-    'cartesiansystem',
-    'case1',
-    'case2',
-    'case3',
-    'cbrt',
-    'cd',
-    'ceil',
-    'center',
-    'centerToFocus',
-    'centroid',
-    'cevian',
-    'change2',
-    'changecoordsys',
-    'checkSegment',
-    'checkconditionlength',
-    'checker',
-    'checklengths',
-    'checkposition',
-    'checktriangle',
-    'choose',
-    'circle',
-    'circlebarframe',
-    'circlemarkradius',
-    'circlenodesnumber',
-    'circumcenter',
-    'circumcircle',
-    'clamped',
-    'clear',
-    'clip',
-    'clipdraw',
-    'close',
-    'cmyk',
-    'code',
-    'colatitude',
-    'collect',
-    'collinear',
-    'color',
-    'colorless',
-    'colors',
-    'colorspace',
-    'comma',
-    'compassmark',
-    'complement',
-    'complementary',
-    'concat',
-    'concurrent',
-    'cone',
-    'conic',
-    'conicnodesnumber',
-    'conictype',
-    'conj',
-    'connect',
-    'containmentTree',
-    'contains',
-    'contour',
-    'contour3',
-    'controlSpecifier',
-    'convert',
-    'coordinates',
-    'coordsys',
-    'copy',
-    'cos',
-    'cosh',
-    'cot',
-    'countIntersections',
-    'cputime',
-    'crop',
-    'cropcode',
-    'cross',
-    'crossframe',
-    'crosshatch',
-    'crossmarksize',
-    'csc',
-    'cubicroots',
-    'curabscissa',
-    'curlSpecifier',
-    'curpoint',
-    'currentarrow',
-    'currentexitfunction',
-    'currentmomarrow',
-    'currentpolarconicroutine',
-    'curve',
-    'cut',
-    'cutafter',
-    'cutbefore',
-    'cyclic',
-    'cylinder',
-    'debugger',
-    'deconstruct',
-    'defaultdir',
-    'defaultformat',
-    'defaultpen',
-    'defined',
-    'degenerate',
-    'degrees',
-    'delete',
-    'deletepreamble',
-    'determinant',
-    'diagonal',
-    'diamond',
-    'diffdiv',
-    'dir',
-    'dirSpecifier',
-    'dirtime',
-    'display',
-    'distance',
-    'divisors',
-    'do_overpaint',
-    'dot',
-    'dotframe',
-    'dotsize',
-    'downcase',
-    'draw',
-    'drawAll',
-    'drawDoubleLine',
-    'drawFermion',
-    'drawGhost',
-    'drawGluon',
-    'drawMomArrow',
-    'drawPhoton',
-    'drawScalar',
-    'drawVertex',
-    'drawVertexBox',
-    'drawVertexBoxO',
-    'drawVertexBoxX',
-    'drawVertexO',
-    'drawVertexOX',
-    'drawVertexTriangle',
-    'drawVertexTriangleO',
-    'drawVertexX',
-    'drawarrow',
-    'drawarrow2',
-    'drawline',
-    'drawtick',
-    'duplicate',
-    'elle',
-    'ellipse',
-    'ellipsenodesnumber',
-    'embed',
-    'embed3',
-    'empty',
-    'enclose',
-    'end',
-    'endScript',
-    'endclip',
-    'endgroup',
-    'endl',
-    'endpoint',
-    'endpoints',
-    'eof',
-    'eol',
-    'equation',
-    'equations',
-    'erase',
-    'erasestep',
-    'erf',
-    'erfc',
-    'error',
-    'errorbar',
-    'errorbars',
-    'eval',
-    'excenter',
-    'excircle',
-    'exit',
-    'exitXasyMode',
-    'exitfunction',
-    'exp',
-    'expfactors',
-    'expi',
-    'expm1',
-    'exradius',
-    'extend',
-    'extension',
-    'extouch',
-    'fabs',
-    'factorial',
-    'fermat',
-    'fft',
-    'fhorner',
-    'figure',
-    'file',
-    'filecode',
-    'fill',
-    'filldraw',
-    'filloutside',
-    'fillrule',
-    'filltype',
-    'find',
-    'finite',
-    'finiteDifferenceJacobian',
-    'firstcut',
-    'firstframe',
-    'fit',
-    'fit2',
-    'fixedscaling',
-    'floor',
-    'flush',
-    'fmdefaults',
-    'fmod',
-    'focusToCenter',
-    'font',
-    'fontcommand',
-    'fontsize',
-    'foot',
-    'format',
-    'frac',
-    'frequency',
-    'fromCenter',
-    'fromFocus',
-    'fspline',
-    'functionshade',
-    'gamma',
-    'generate_random_backtrace',
-    'generateticks',
-    'gergonne',
-    'getc',
-    'getint',
-    'getpair',
-    'getreal',
-    'getstring',
-    'gettriple',
-    'gluon',
-    'gouraudshade',
-    'graph',
-    'graphic',
-    'gray',
-    'grestore',
-    'grid',
-    'grid3',
-    'gsave',
-    'halfbox',
-    'hatch',
-    'hdiffdiv',
-    'hermite',
-    'hex',
-    'histogram',
-    'history',
-    'hline',
-    'hprojection',
-    'hsv',
-    'hyperbola',
-    'hyperbolanodesnumber',
-    'hyperlink',
-    'hypot',
-    'identity',
-    'image',
-    'incenter',
-    'incentral',
-    'incircle',
-    'increasing',
-    'incrementposition',
-    'indexedTransform',
-    'indexedfigure',
-    'initXasyMode',
-    'initdefaults',
-    'input',
-    'inradius',
-    'insert',
-    'inside',
-    'integrate',
-    'interactive',
-    'interior',
-    'interp',
-    'interpolate',
-    'intersect',
-    'intersection',
-    'intersectionpoint',
-    'intersectionpoints',
-    'intersections',
-    'intouch',
-    'inverse',
-    'inversion',
-    'invisible',
-    'is3D',
-    'isDuplicate',
-    'isogonal',
-    'isogonalconjugate',
-    'isotomic',
-    'isotomicconjugate',
-    'isparabola',
-    'italic',
-    'item',
-    'key',
-    'kurtosis',
-    'kurtosisexcess',
-    'label',
-    'labelaxis',
-    'labelmargin',
-    'labelpath',
-    'labels',
-    'labeltick',
-    'labelx',
-    'labelx3',
-    'labely',
-    'labely3',
-    'labelz',
-    'labelz3',
-    'lastcut',
-    'latex',
-    'latitude',
-    'latticeshade',
-    'layer',
-    'layout',
-    'ldexp',
-    'leastsquares',
-    'legend',
-    'legenditem',
-    'length',
-    'lift',
-    'light',
-    'limits',
-    'line',
-    'linear',
-    'linecap',
-    'lineinversion',
-    'linejoin',
-    'linemargin',
-    'lineskip',
-    'linetype',
-    'linewidth',
-    'link',
-    'list',
-    'lm_enorm',
-    'lm_evaluate_default',
-    'lm_lmdif',
-    'lm_lmpar',
-    'lm_minimize',
-    'lm_print_default',
-    'lm_print_quiet',
-    'lm_qrfac',
-    'lm_qrsolv',
-    'locale',
-    'locate',
-    'locatefile',
-    'location',
-    'log',
-    'log10',
-    'log1p',
-    'logaxiscoverage',
-    'longitude',
-    'lookup',
-    'magnetize',
-    'makeNode',
-    'makedraw',
-    'makepen',
-    'map',
-    'margin',
-    'markangle',
-    'markangleradius',
-    'markanglespace',
-    'markarc',
-    'marker',
-    'markinterval',
-    'marknodes',
-    'markrightangle',
-    'markuniform',
-    'mass',
-    'masscenter',
-    'massformat',
-    'math',
-    'max',
-    'max3',
-    'maxbezier',
-    'maxbound',
-    'maxcoords',
-    'maxlength',
-    'maxratio',
-    'maxtimes',
-    'mean',
-    'medial',
-    'median',
-    'midpoint',
-    'min',
-    'min3',
-    'minbezier',
-    'minbound',
-    'minipage',
-    'minratio',
-    'mintimes',
-    'miterlimit',
-    'momArrowPath',
-    'momarrowsize',
-    'monotonic',
-    'multifigure',
-    'nativeformat',
-    'natural',
-    'needshipout',
-    'newl',
-    'newpage',
-    'newslide',
-    'newton',
-    'newtree',
-    'nextframe',
-    'nextnormal',
-    'nextpage',
-    'nib',
-    'nodabscissa',
-    'none',
-    'norm',
-    'normalvideo',
-    'notaknot',
-    'nowarn',
-    'numberpage',
-    'nurb',
-    'object',
-    'offset',
-    'onpath',
-    'opacity',
-    'opposite',
-    'orientation',
-    'orig_circlenodesnumber',
-    'orig_circlenodesnumber1',
-    'orig_draw',
-    'orig_ellipsenodesnumber',
-    'orig_ellipsenodesnumber1',
-    'orig_hyperbolanodesnumber',
-    'orig_parabolanodesnumber',
-    'origin',
-    'orthic',
-    'orthocentercenter',
-    'outformat',
-    'outline',
-    'outprefix',
-    'output',
-    'overloadedMessage',
-    'overwrite',
-    'pack',
-    'pad',
-    'pairs',
-    'palette',
-    'parabola',
-    'parabolanodesnumber',
-    'parallel',
-    'partialsum',
-    'path',
-    'path3',
-    'pattern',
-    'pause',
-    'pdf',
-    'pedal',
-    'periodic',
-    'perp',
-    'perpendicular',
-    'perpendicularmark',
-    'phantom',
-    'phi1',
-    'phi2',
-    'phi3',
-    'photon',
-    'piecewisestraight',
-    'point',
-    'polar',
-    'polarconicroutine',
-    'polargraph',
-    'polygon',
-    'postcontrol',
-    'postscript',
-    'pow10',
-    'ppoint',
-    'prc',
-    'prc0',
-    'precision',
-    'precontrol',
-    'prepend',
-    'print_random_addresses',
-    'project',
-    'projection',
-    'purge',
-    'pwhermite',
-    'quadrant',
-    'quadraticroots',
-    'quantize',
-    'quarticroots',
-    'quotient',
-    'radialshade',
-    'radians',
-    'radicalcenter',
-    'radicalline',
-    'radius',
-    'rand',
-    'randompath',
-    'rd',
-    'readline',
-    'realmult',
-    'realquarticroots',
-    'rectangle',
-    'rectangular',
-    'rectify',
-    'reflect',
-    'relabscissa',
-    'relative',
-    'relativedistance',
-    'reldir',
-    'relpoint',
-    'reltime',
-    'remainder',
-    'remark',
-    'removeDuplicates',
-    'rename',
-    'replace',
-    'report',
-    'resetdefaultpen',
-    'restore',
-    'restoredefaults',
-    'reverse',
-    'reversevideo',
-    'rf',
-    'rfind',
-    'rgb',
-    'rgba',
-    'rgbint',
-    'rms',
-    'rotate',
-    'rotateO',
-    'rotation',
-    'round',
-    'roundbox',
-    'roundedpath',
-    'roundrectangle',
-    'samecoordsys',
-    'sameside',
-    'sample',
-    'save',
-    'savedefaults',
-    'saveline',
-    'scale',
-    'scale3',
-    'scaleO',
-    'scaleT',
-    'scaleless',
-    'scientific',
-    'search',
-    'searchtree',
-    'sec',
-    'secondaryX',
-    'secondaryY',
-    'seconds',
-    'section',
-    'sector',
-    'seek',
-    'seekeof',
-    'segment',
-    'sequence',
-    'setpens',
-    'sgn',
-    'sgnd',
-    'sharpangle',
-    'sharpdegrees',
-    'shift',
-    'shiftless',
-    'shipout',
-    'shipout3',
-    'show',
-    'side',
-    'simeq',
-    'simpson',
-    'sin',
-    'single',
-    'sinh',
-    'size',
-    'size3',
-    'skewness',
-    'skip',
-    'slant',
-    'sleep',
-    'slope',
-    'slopefield',
-    'solve',
-    'solveBVP',
-    'sort',
-    'sourceline',
-    'sphere',
-    'split',
-    'sqrt',
-    'square',
-    'srand',
-    'standardizecoordsys',
-    'startScript',
-    'startTrembling',
-    'stdev',
-    'step',
-    'stickframe',
-    'stickmarksize',
-    'stickmarkspace',
-    'stop',
-    'straight',
-    'straightness',
-    'string',
-    'stripdirectory',
-    'stripextension',
-    'stripfile',
-    'strokepath',
-    'subdivide',
-    'subitem',
-    'subpath',
-    'substr',
-    'sum',
-    'surface',
-    'symmedial',
-    'symmedian',
-    'system',
-    'tab',
-    'tableau',
-    'tan',
-    'tangent',
-    'tangential',
-    'tangents',
-    'tanh',
-    'tell',
-    'tensionSpecifier',
-    'tensorshade',
-    'tex',
-    'texcolor',
-    'texify',
-    'texpath',
-    'texpreamble',
-    'texreset',
-    'texshipout',
-    'texsize',
-    'textpath',
-    'thick',
-    'thin',
-    'tick',
-    'tickMax',
-    'tickMax3',
-    'tickMin',
-    'tickMin3',
-    'ticklabelshift',
-    'ticklocate',
-    'tildeframe',
-    'tildemarksize',
-    'tile',
-    'tiling',
-    'time',
-    'times',
-    'title',
-    'titlepage',
-    'topbox',
-    'transform',
-    'transformation',
-    'transpose',
-    'tremble',
-    'trembleFuzz',
-    'tremble_circlenodesnumber',
-    'tremble_circlenodesnumber1',
-    'tremble_draw',
-    'tremble_ellipsenodesnumber',
-    'tremble_ellipsenodesnumber1',
-    'tremble_hyperbolanodesnumber',
-    'tremble_marknodes',
-    'tremble_markuniform',
-    'tremble_parabolanodesnumber',
-    'triangle',
-    'triangleAbc',
-    'triangleabc',
-    'triangulate',
-    'tricoef',
-    'tridiagonal',
-    'trilinear',
-    'trim',
-    'trueMagnetize',
-    'truepoint',
-    'tube',
-    'uncycle',
-    'unfill',
-    'uniform',
-    'unit',
-    'unitrand',
-    'unitsize',
-    'unityroot',
-    'unstraighten',
-    'upcase',
-    'updatefunction',
-    'uperiodic',
-    'upscale',
-    'uptodate',
-    'usepackage',
-    'usersetting',
-    'usetypescript',
-    'usleep',
-    'value',
-    'variance',
-    'variancebiased',
-    'vbox',
-    'vector',
-    'vectorfield',
-    'verbatim',
-    'view',
-    'vline',
-    'vperiodic',
-    'vprojection',
-    'warn',
-    'warning',
-    'windingnumber',
-    'write',
-    'xaxis',
-    'xaxis3',
-    'xaxis3At',
-    'xaxisAt',
-    'xequals',
-    'xinput',
-    'xlimits',
-    'xoutput',
-    'xpart',
-    'xscale',
-    'xscaleO',
-    'xtick',
-    'xtick3',
-    'xtrans',
-    'yaxis',
-    'yaxis3',
-    'yaxis3At',
-    'yaxisAt',
-    'yequals',
-    'ylimits',
-    'ypart',
-    'yscale',
-    'yscaleO',
-    'ytick',
-    'ytick3',
-    'ytrans',
-    'zaxis3',
-    'zaxis3At',
-    'zero',
-    'zero3',
-    'zlimits',
-    'zpart',
-    'ztick',
-    'ztick3',
-    'ztrans'
-])
-
-ASYVARNAME = set([
-    'AliceBlue',
-    'Align',
-    'Allow',
-    'AntiqueWhite',
-    'Apricot',
-    'Aqua',
-    'Aquamarine',
-    'Aspect',
-    'Azure',
-    'BeginPoint',
-    'Beige',
-    'Bisque',
-    'Bittersweet',
-    'Black',
-    'BlanchedAlmond',
-    'Blue',
-    'BlueGreen',
-    'BlueViolet',
-    'Both',
-    'Break',
-    'BrickRed',
-    'Brown',
-    'BurlyWood',
-    'BurntOrange',
-    'CCW',
-    'CW',
-    'CadetBlue',
-    'CarnationPink',
-    'Center',
-    'Centered',
-    'Cerulean',
-    'Chartreuse',
-    'Chocolate',
-    'Coeff',
-    'Coral',
-    'CornflowerBlue',
-    'Cornsilk',
-    'Crimson',
-    'Crop',
-    'Cyan',
-    'Dandelion',
-    'DarkBlue',
-    'DarkCyan',
-    'DarkGoldenrod',
-    'DarkGray',
-    'DarkGreen',
-    'DarkKhaki',
-    'DarkMagenta',
-    'DarkOliveGreen',
-    'DarkOrange',
-    'DarkOrchid',
-    'DarkRed',
-    'DarkSalmon',
-    'DarkSeaGreen',
-    'DarkSlateBlue',
-    'DarkSlateGray',
-    'DarkTurquoise',
-    'DarkViolet',
-    'DeepPink',
-    'DeepSkyBlue',
-    'DefaultHead',
-    'DimGray',
-    'DodgerBlue',
-    'Dotted',
-    'Draw',
-    'E',
-    'ENE',
-    'EPS',
-    'ESE',
-    'E_Euler',
-    'E_PC',
-    'E_RK2',
-    'E_RK3BS',
-    'Emerald',
-    'EndPoint',
-    'Euler',
-    'Fill',
-    'FillDraw',
-    'FireBrick',
-    'FloralWhite',
-    'ForestGreen',
-    'Fuchsia',
-    'Gainsboro',
-    'GhostWhite',
-    'Gold',
-    'Goldenrod',
-    'Gray',
-    'Green',
-    'GreenYellow',
-    'Honeydew',
-    'HookHead',
-    'Horizontal',
-    'HotPink',
-    'I',
-    'IgnoreAspect',
-    'IndianRed',
-    'Indigo',
-    'Ivory',
-    'JOIN_IN',
-    'JOIN_OUT',
-    'JungleGreen',
-    'Khaki',
-    'LM_DWARF',
-    'LM_MACHEP',
-    'LM_SQRT_DWARF',
-    'LM_SQRT_GIANT',
-    'LM_USERTOL',
-    'Label',
-    'Lavender',
-    'LavenderBlush',
-    'LawnGreen',
-    'LeftJustified',
-    'LeftSide',
-    'LemonChiffon',
-    'LightBlue',
-    'LightCoral',
-    'LightCyan',
-    'LightGoldenrodYellow',
-    'LightGreen',
-    'LightGrey',
-    'LightPink',
-    'LightSalmon',
-    'LightSeaGreen',
-    'LightSkyBlue',
-    'LightSlateGray',
-    'LightSteelBlue',
-    'LightYellow',
-    'Lime',
-    'LimeGreen',
-    'Linear',
-    'Linen',
-    'Log',
-    'Logarithmic',
-    'Magenta',
-    'Mahogany',
-    'Mark',
-    'MarkFill',
-    'Maroon',
-    'Max',
-    'MediumAquamarine',
-    'MediumBlue',
-    'MediumOrchid',
-    'MediumPurple',
-    'MediumSeaGreen',
-    'MediumSlateBlue',
-    'MediumSpringGreen',
-    'MediumTurquoise',
-    'MediumVioletRed',
-    'Melon',
-    'MidPoint',
-    'MidnightBlue',
-    'Min',
-    'MintCream',
-    'MistyRose',
-    'Moccasin',
-    'Move',
-    'MoveQuiet',
-    'Mulberry',
-    'N',
-    'NE',
-    'NNE',
-    'NNW',
-    'NW',
-    'NavajoWhite',
-    'Navy',
-    'NavyBlue',
-    'NoAlign',
-    'NoCrop',
-    'NoFill',
-    'NoSide',
-    'OldLace',
-    'Olive',
-    'OliveDrab',
-    'OliveGreen',
-    'Orange',
-    'OrangeRed',
-    'Orchid',
-    'Ox',
-    'Oy',
-    'PC',
-    'PaleGoldenrod',
-    'PaleGreen',
-    'PaleTurquoise',
-    'PaleVioletRed',
-    'PapayaWhip',
-    'Peach',
-    'PeachPuff',
-    'Periwinkle',
-    'Peru',
-    'PineGreen',
-    'Pink',
-    'Plum',
-    'PowderBlue',
-    'ProcessBlue',
-    'Purple',
-    'RK2',
-    'RK3',
-    'RK3BS',
-    'RK4',
-    'RK5',
-    'RK5DP',
-    'RK5F',
-    'RawSienna',
-    'Red',
-    'RedOrange',
-    'RedViolet',
-    'Rhodamine',
-    'RightJustified',
-    'RightSide',
-    'RosyBrown',
-    'RoyalBlue',
-    'RoyalPurple',
-    'RubineRed',
-    'S',
-    'SE',
-    'SSE',
-    'SSW',
-    'SW',
-    'SaddleBrown',
-    'Salmon',
-    'SandyBrown',
-    'SeaGreen',
-    'Seashell',
-    'Sepia',
-    'Sienna',
-    'Silver',
-    'SimpleHead',
-    'SkyBlue',
-    'SlateBlue',
-    'SlateGray',
-    'Snow',
-    'SpringGreen',
-    'SteelBlue',
-    'Suppress',
-    'SuppressQuiet',
-    'Tan',
-    'TeXHead',
-    'Teal',
-    'TealBlue',
-    'Thistle',
-    'Ticksize',
-    'Tomato',
-    'Turquoise',
-    'UnFill',
-    'VERSION',
-    'Value',
-    'Vertical',
-    'Violet',
-    'VioletRed',
-    'W',
-    'WNW',
-    'WSW',
-    'Wheat',
-    'White',
-    'WhiteSmoke',
-    'WildStrawberry',
-    'XYAlign',
-    'YAlign',
-    'Yellow',
-    'YellowGreen',
-    'YellowOrange',
-    'addpenarc',
-    'addpenline',
-    'align',
-    'allowstepping',
-    'angularsystem',
-    'animationdelay',
-    'appendsuffix',
-    'arcarrowangle',
-    'arcarrowfactor',
-    'arrow2sizelimit',
-    'arrowangle',
-    'arrowbarb',
-    'arrowdir',
-    'arrowfactor',
-    'arrowhookfactor',
-    'arrowlength',
-    'arrowsizelimit',
-    'arrowtexfactor',
-    'authorpen',
-    'axis',
-    'axiscoverage',
-    'axislabelfactor',
-    'background',
-    'backgroundcolor',
-    'backgroundpen',
-    'barfactor',
-    'barmarksizefactor',
-    'basealign',
-    'baselinetemplate',
-    'beveljoin',
-    'bigvertexpen',
-    'bigvertexsize',
-    'black',
-    'blue',
-    'bm',
-    'bottom',
-    'bp',
-    'brown',
-    'bullet',
-    'byfoci',
-    'byvertices',
-    'camerafactor',
-    'chartreuse',
-    'circlemarkradiusfactor',
-    'circlenodesnumberfactor',
-    'circleprecision',
-    'circlescale',
-    'cm',
-    'codefile',
-    'codepen',
-    'codeskip',
-    'colorPen',
-    'coloredNodes',
-    'coloredSegments',
-    'conditionlength',
-    'conicnodesfactor',
-    'count',
-    'cputimeformat',
-    'crossmarksizefactor',
-    'currentcoordsys',
-    'currentlight',
-    'currentpatterns',
-    'currentpen',
-    'currentpicture',
-    'currentposition',
-    'currentprojection',
-    'curvilinearsystem',
-    'cuttings',
-    'cyan',
-    'darkblue',
-    'darkbrown',
-    'darkcyan',
-    'darkgray',
-    'darkgreen',
-    'darkgrey',
-    'darkmagenta',
-    'darkolive',
-    'darkred',
-    'dashdotted',
-    'dashed',
-    'datepen',
-    'dateskip',
-    'debuggerlines',
-    'debugging',
-    'deepblue',
-    'deepcyan',
-    'deepgray',
-    'deepgreen',
-    'deepgrey',
-    'deepmagenta',
-    'deepred',
-    'default',
-    'defaultControl',
-    'defaultS',
-    'defaultbackpen',
-    'defaultcoordsys',
-    'defaultfilename',
-    'defaultformat',
-    'defaultmassformat',
-    'defaultpen',
-    'diagnostics',
-    'differentlengths',
-    'dot',
-    'dotfactor',
-    'dotframe',
-    'dotted',
-    'doublelinepen',
-    'doublelinespacing',
-    'down',
-    'duplicateFuzz',
-    'ellipsenodesnumberfactor',
-    'eps',
-    'epsgeo',
-    'epsilon',
-    'evenodd',
-    'extendcap',
-    'fermionpen',
-    'figureborder',
-    'figuremattpen',
-    'firstnode',
-    'firststep',
-    'foregroundcolor',
-    'fuchsia',
-    'fuzz',
-    'gapfactor',
-    'ghostpen',
-    'gluonamplitude',
-    'gluonpen',
-    'gluonratio',
-    'gray',
-    'green',
-    'grey',
-    'hatchepsilon',
-    'havepagenumber',
-    'heavyblue',
-    'heavycyan',
-    'heavygray',
-    'heavygreen',
-    'heavygrey',
-    'heavymagenta',
-    'heavyred',
-    'hline',
-    'hwratio',
-    'hyperbolanodesnumberfactor',
-    'identity4',
-    'ignore',
-    'inXasyMode',
-    'inch',
-    'inches',
-    'includegraphicscommand',
-    'inf',
-    'infinity',
-    'institutionpen',
-    'intMax',
-    'intMin',
-    'invert',
-    'invisible',
-    'itempen',
-    'itemskip',
-    'itemstep',
-    'labelmargin',
-    'landscape',
-    'lastnode',
-    'left',
-    'legendhskip',
-    'legendlinelength',
-    'legendmargin',
-    'legendmarkersize',
-    'legendmaxrelativewidth',
-    'legendvskip',
-    'lightblue',
-    'lightcyan',
-    'lightgray',
-    'lightgreen',
-    'lightgrey',
-    'lightmagenta',
-    'lightolive',
-    'lightred',
-    'lightyellow',
-    'linemargin',
-    'lm_infmsg',
-    'lm_shortmsg',
-    'longdashdotted',
-    'longdashed',
-    'magenta',
-    'magneticPoints',
-    'magneticRadius',
-    'mantissaBits',
-    'markangleradius',
-    'markangleradiusfactor',
-    'markanglespace',
-    'markanglespacefactor',
-    'mediumblue',
-    'mediumcyan',
-    'mediumgray',
-    'mediumgreen',
-    'mediumgrey',
-    'mediummagenta',
-    'mediumred',
-    'mediumyellow',
-    'middle',
-    'minDistDefault',
-    'minblockheight',
-    'minblockwidth',
-    'mincirclediameter',
-    'minipagemargin',
-    'minipagewidth',
-    'minvertexangle',
-    'miterjoin',
-    'mm',
-    'momarrowfactor',
-    'momarrowlength',
-    'momarrowmargin',
-    'momarrowoffset',
-    'momarrowpen',
-    'monoPen',
-    'morepoints',
-    'nCircle',
-    'newbulletcolor',
-    'ngraph',
-    'nil',
-    'nmesh',
-    'nobasealign',
-    'nodeMarginDefault',
-    'nodesystem',
-    'nomarker',
-    'nopoint',
-    'noprimary',
-    'nullpath',
-    'nullpen',
-    'numarray',
-    'ocgindex',
-    'oldbulletcolor',
-    'olive',
-    'orange',
-    'origin',
-    'overpaint',
-    'page',
-    'pageheight',
-    'pagemargin',
-    'pagenumberalign',
-    'pagenumberpen',
-    'pagenumberposition',
-    'pagewidth',
-    'paleblue',
-    'palecyan',
-    'palegray',
-    'palegreen',
-    'palegrey',
-    'palemagenta',
-    'palered',
-    'paleyellow',
-    'parabolanodesnumberfactor',
-    'perpfactor',
-    'phi',
-    'photonamplitude',
-    'photonpen',
-    'photonratio',
-    'pi',
-    'pink',
-    'plain',
-    'plus',
-    'preamblenodes',
-    'pt',
-    'purple',
-    'r3',
-    'r4a',
-    'r4b',
-    'randMax',
-    'realDigits',
-    'realEpsilon',
-    'realMax',
-    'realMin',
-    'red',
-    'relativesystem',
-    'reverse',
-    'right',
-    'roundcap',
-    'roundjoin',
-    'royalblue',
-    'salmon',
-    'saveFunctions',
-    'scalarpen',
-    'sequencereal',
-    'settings',
-    'shipped',
-    'signedtrailingzero',
-    'solid',
-    'springgreen',
-    'sqrtEpsilon',
-    'squarecap',
-    'squarepen',
-    'startposition',
-    'stdin',
-    'stdout',
-    'stepfactor',
-    'stepfraction',
-    'steppagenumberpen',
-    'stepping',
-    'stickframe',
-    'stickmarksizefactor',
-    'stickmarkspacefactor',
-    'textpen',
-    'ticksize',
-    'tildeframe',
-    'tildemarksizefactor',
-    'tinv',
-    'titlealign',
-    'titlepagepen',
-    'titlepageposition',
-    'titlepen',
-    'titleskip',
-    'top',
-    'trailingzero',
-    'treeLevelStep',
-    'treeMinNodeWidth',
-    'treeNodeStep',
-    'trembleAngle',
-    'trembleFrequency',
-    'trembleRandom',
-    'tremblingMode',
-    'undefined',
-    'unitcircle',
-    'unitsquare',
-    'up',
-    'urlpen',
-    'urlskip',
-    'version',
-    'vertexpen',
-    'vertexsize',
-    'viewportmargin',
-    'viewportsize',
-    'vline',
-    'white',
-    'wye',
-    'xformStack',
-    'yellow',
-    'ylabelwidth',
-    'zerotickfuzz',
-    'zerowinding'
-])
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/lexers/_cl_builtins.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,232 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers._cl_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    ANSI Common Lisp builtins.
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+BUILTIN_FUNCTIONS = set((  # 638 functions
+    '<', '<=', '=', '>', '>=', '-', '/', '/=', '*', '+', '1-', '1+',
+    'abort', 'abs', 'acons', 'acos', 'acosh', 'add-method', 'adjoin',
+    'adjustable-array-p', 'adjust-array', 'allocate-instance',
+    'alpha-char-p', 'alphanumericp', 'append', 'apply', 'apropos',
+    'apropos-list', 'aref', 'arithmetic-error-operands',
+    'arithmetic-error-operation', 'array-dimension', 'array-dimensions',
+    'array-displacement', 'array-element-type', 'array-has-fill-pointer-p',
+    'array-in-bounds-p', 'arrayp', 'array-rank', 'array-row-major-index',
+    'array-total-size', 'ash', 'asin', 'asinh', 'assoc', 'assoc-if',
+    'assoc-if-not', 'atan', 'atanh', 'atom', 'bit', 'bit-and', 'bit-andc1',
+    'bit-andc2', 'bit-eqv', 'bit-ior', 'bit-nand', 'bit-nor', 'bit-not',
+    'bit-orc1', 'bit-orc2', 'bit-vector-p', 'bit-xor', 'boole',
+    'both-case-p', 'boundp', 'break', 'broadcast-stream-streams',
+    'butlast', 'byte', 'byte-position', 'byte-size', 'caaaar', 'caaadr',
+    'caaar', 'caadar', 'caaddr', 'caadr', 'caar', 'cadaar', 'cadadr',
+    'cadar', 'caddar', 'cadddr', 'caddr', 'cadr', 'call-next-method', 'car',
+    'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr', 'cdadr', 'cdar',
+    'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr', 'cdddr', 'cddr', 'cdr',
+    'ceiling', 'cell-error-name', 'cerror', 'change-class', 'char', 'char<',
+    'char<=', 'char=', 'char>', 'char>=', 'char/=', 'character',
+    'characterp', 'char-code', 'char-downcase', 'char-equal',
+    'char-greaterp', 'char-int', 'char-lessp', 'char-name',
+    'char-not-equal', 'char-not-greaterp', 'char-not-lessp', 'char-upcase',
+    'cis', 'class-name', 'class-of', 'clear-input', 'clear-output',
+    'close', 'clrhash', 'code-char', 'coerce', 'compile',
+    'compiled-function-p', 'compile-file', 'compile-file-pathname',
+    'compiler-macro-function', 'complement', 'complex', 'complexp',
+    'compute-applicable-methods', 'compute-restarts', 'concatenate',
+    'concatenated-stream-streams', 'conjugate', 'cons', 'consp',
+    'constantly', 'constantp', 'continue', 'copy-alist', 'copy-list',
+    'copy-pprint-dispatch', 'copy-readtable', 'copy-seq', 'copy-structure',
+    'copy-symbol', 'copy-tree', 'cos', 'cosh', 'count', 'count-if',
+    'count-if-not', 'decode-float', 'decode-universal-time', 'delete',
+    'delete-duplicates', 'delete-file', 'delete-if', 'delete-if-not',
+    'delete-package', 'denominator', 'deposit-field', 'describe',
+    'describe-object', 'digit-char', 'digit-char-p', 'directory',
+    'directory-namestring', 'disassemble', 'documentation', 'dpb',
+    'dribble', 'echo-stream-input-stream', 'echo-stream-output-stream',
+    'ed', 'eighth', 'elt', 'encode-universal-time', 'endp',
+    'enough-namestring', 'ensure-directories-exist',
+    'ensure-generic-function', 'eq', 'eql', 'equal', 'equalp', 'error',
+    'eval', 'evenp', 'every', 'exp', 'export', 'expt', 'fboundp',
+    'fceiling', 'fdefinition', 'ffloor', 'fifth', 'file-author',
+    'file-error-pathname', 'file-length', 'file-namestring',
+    'file-position', 'file-string-length', 'file-write-date',
+    'fill', 'fill-pointer', 'find', 'find-all-symbols', 'find-class',
+    'find-if', 'find-if-not', 'find-method', 'find-package', 'find-restart',
+    'find-symbol', 'finish-output', 'first', 'float', 'float-digits',
+    'floatp', 'float-precision', 'float-radix', 'float-sign', 'floor',
+    'fmakunbound', 'force-output', 'format', 'fourth', 'fresh-line',
+    'fround', 'ftruncate', 'funcall', 'function-keywords',
+    'function-lambda-expression', 'functionp', 'gcd', 'gensym', 'gentemp',
+    'get', 'get-decoded-time', 'get-dispatch-macro-character', 'getf',
+    'gethash', 'get-internal-real-time', 'get-internal-run-time',
+    'get-macro-character', 'get-output-stream-string', 'get-properties',
+    'get-setf-expansion', 'get-universal-time', 'graphic-char-p',
+    'hash-table-count', 'hash-table-p', 'hash-table-rehash-size',
+    'hash-table-rehash-threshold', 'hash-table-size', 'hash-table-test',
+    'host-namestring', 'identity', 'imagpart', 'import',
+    'initialize-instance', 'input-stream-p', 'inspect',
+    'integer-decode-float', 'integer-length', 'integerp',
+    'interactive-stream-p', 'intern', 'intersection',
+    'invalid-method-error', 'invoke-debugger', 'invoke-restart',
+    'invoke-restart-interactively', 'isqrt', 'keywordp', 'last', 'lcm',
+    'ldb', 'ldb-test', 'ldiff', 'length', 'lisp-implementation-type',
+    'lisp-implementation-version', 'list', 'list*', 'list-all-packages',
+    'listen', 'list-length', 'listp', 'load',
+    'load-logical-pathname-translations', 'log', 'logand', 'logandc1',
+    'logandc2', 'logbitp', 'logcount', 'logeqv', 'logical-pathname',
+    'logical-pathname-translations', 'logior', 'lognand', 'lognor',
+    'lognot', 'logorc1', 'logorc2', 'logtest', 'logxor', 'long-site-name',
+    'lower-case-p', 'machine-instance', 'machine-type', 'machine-version',
+    'macroexpand', 'macroexpand-1', 'macro-function', 'make-array',
+    'make-broadcast-stream', 'make-concatenated-stream', 'make-condition',
+    'make-dispatch-macro-character', 'make-echo-stream', 'make-hash-table',
+    'make-instance', 'make-instances-obsolete', 'make-list',
+    'make-load-form', 'make-load-form-saving-slots', 'make-package',
+    'make-pathname', 'make-random-state', 'make-sequence', 'make-string',
+    'make-string-input-stream', 'make-string-output-stream', 'make-symbol',
+    'make-synonym-stream', 'make-two-way-stream', 'makunbound', 'map',
+    'mapc', 'mapcan', 'mapcar', 'mapcon', 'maphash', 'map-into', 'mapl',
+    'maplist', 'mask-field', 'max', 'member', 'member-if', 'member-if-not',
+    'merge', 'merge-pathnames', 'method-combination-error',
+    'method-qualifiers', 'min', 'minusp', 'mismatch', 'mod',
+    'muffle-warning', 'name-char', 'namestring', 'nbutlast', 'nconc',
+    'next-method-p', 'nintersection', 'ninth', 'no-applicable-method',
+    'no-next-method', 'not', 'notany', 'notevery', 'nreconc', 'nreverse',
+    'nset-difference', 'nset-exclusive-or', 'nstring-capitalize',
+    'nstring-downcase', 'nstring-upcase', 'nsublis', 'nsubst', 'nsubst-if',
+    'nsubst-if-not', 'nsubstitute', 'nsubstitute-if', 'nsubstitute-if-not',
+    'nth', 'nthcdr', 'null', 'numberp', 'numerator', 'nunion', 'oddp',
+    'open', 'open-stream-p', 'output-stream-p', 'package-error-package',
+    'package-name', 'package-nicknames', 'packagep',
+    'package-shadowing-symbols', 'package-used-by-list', 'package-use-list',
+    'pairlis', 'parse-integer', 'parse-namestring', 'pathname',
+    'pathname-device', 'pathname-directory', 'pathname-host',
+    'pathname-match-p', 'pathname-name', 'pathnamep', 'pathname-type',
+    'pathname-version', 'peek-char', 'phase', 'plusp', 'position',
+    'position-if', 'position-if-not', 'pprint', 'pprint-dispatch',
+    'pprint-fill', 'pprint-indent', 'pprint-linear', 'pprint-newline',
+    'pprint-tab', 'pprint-tabular', 'prin1', 'prin1-to-string', 'princ',
+    'princ-to-string', 'print', 'print-object', 'probe-file', 'proclaim',
+    'provide', 'random', 'random-state-p', 'rassoc', 'rassoc-if',
+    'rassoc-if-not', 'rational', 'rationalize', 'rationalp', 'read',
+    'read-byte', 'read-char', 'read-char-no-hang', 'read-delimited-list',
+    'read-from-string', 'read-line', 'read-preserving-whitespace',
+    'read-sequence', 'readtable-case', 'readtablep', 'realp', 'realpart',
+    'reduce', 'reinitialize-instance', 'rem', 'remhash', 'remove',
+    'remove-duplicates', 'remove-if', 'remove-if-not', 'remove-method',
+    'remprop', 'rename-file', 'rename-package', 'replace', 'require',
+    'rest', 'restart-name', 'revappend', 'reverse', 'room', 'round',
+    'row-major-aref', 'rplaca', 'rplacd', 'sbit', 'scale-float', 'schar',
+    'search', 'second', 'set', 'set-difference',
+    'set-dispatch-macro-character', 'set-exclusive-or',
+    'set-macro-character', 'set-pprint-dispatch', 'set-syntax-from-char',
+    'seventh', 'shadow', 'shadowing-import', 'shared-initialize',
+    'short-site-name', 'signal', 'signum', 'simple-bit-vector-p',
+    'simple-condition-format-arguments', 'simple-condition-format-control',
+    'simple-string-p', 'simple-vector-p', 'sin', 'sinh', 'sixth', 'sleep',
+    'slot-boundp', 'slot-exists-p', 'slot-makunbound', 'slot-missing',
+    'slot-unbound', 'slot-value', 'software-type', 'software-version',
+    'some', 'sort', 'special-operator-p', 'sqrt', 'stable-sort',
+    'standard-char-p', 'store-value', 'stream-element-type',
+    'stream-error-stream', 'stream-external-format', 'streamp', 'string',
+    'string<', 'string<=', 'string=', 'string>', 'string>=', 'string/=',
+    'string-capitalize', 'string-downcase', 'string-equal',
+    'string-greaterp', 'string-left-trim', 'string-lessp',
+    'string-not-equal', 'string-not-greaterp', 'string-not-lessp',
+    'stringp', 'string-right-trim', 'string-trim', 'string-upcase',
+    'sublis', 'subseq', 'subsetp', 'subst', 'subst-if', 'subst-if-not',
+    'substitute', 'substitute-if', 'substitute-if-not', 'subtypep','svref',
+    'sxhash', 'symbol-function', 'symbol-name', 'symbolp', 'symbol-package',
+    'symbol-plist', 'symbol-value', 'synonym-stream-symbol', 'syntax:',
+    'tailp', 'tan', 'tanh', 'tenth', 'terpri', 'third',
+    'translate-logical-pathname', 'translate-pathname', 'tree-equal',
+    'truename', 'truncate', 'two-way-stream-input-stream',
+    'two-way-stream-output-stream', 'type-error-datum',
+    'type-error-expected-type', 'type-of', 'typep', 'unbound-slot-instance',
+    'unexport', 'unintern', 'union', 'unread-char', 'unuse-package',
+    'update-instance-for-different-class',
+    'update-instance-for-redefined-class', 'upgraded-array-element-type',
+    'upgraded-complex-part-type', 'upper-case-p', 'use-package',
+    'user-homedir-pathname', 'use-value', 'values', 'values-list', 'vector',
+    'vectorp', 'vector-pop', 'vector-push', 'vector-push-extend', 'warn',
+    'wild-pathname-p', 'write', 'write-byte', 'write-char', 'write-line',
+    'write-sequence', 'write-string', 'write-to-string', 'yes-or-no-p',
+    'y-or-n-p', 'zerop',
+))
+
+SPECIAL_FORMS = set((
+    'block', 'catch', 'declare', 'eval-when', 'flet', 'function', 'go', 'if',
+    'labels', 'lambda', 'let', 'let*', 'load-time-value', 'locally', 'macrolet',
+    'multiple-value-call', 'multiple-value-prog1', 'progn', 'progv', 'quote',
+    'return-from', 'setq', 'symbol-macrolet', 'tagbody', 'the', 'throw',
+    'unwind-protect',
+))
+
+MACROS = set((
+    'and', 'assert', 'call-method', 'case', 'ccase', 'check-type', 'cond',
+    'ctypecase', 'decf', 'declaim', 'defclass', 'defconstant', 'defgeneric',
+    'define-compiler-macro', 'define-condition', 'define-method-combination',
+    'define-modify-macro', 'define-setf-expander', 'define-symbol-macro',
+    'defmacro', 'defmethod', 'defpackage', 'defparameter', 'defsetf',
+    'defstruct', 'deftype', 'defun', 'defvar', 'destructuring-bind', 'do',
+    'do*', 'do-all-symbols', 'do-external-symbols', 'dolist', 'do-symbols',
+    'dotimes', 'ecase', 'etypecase', 'formatter', 'handler-bind',
+    'handler-case', 'ignore-errors', 'incf', 'in-package', 'lambda', 'loop',
+    'loop-finish', 'make-method', 'multiple-value-bind', 'multiple-value-list',
+    'multiple-value-setq', 'nth-value', 'or', 'pop',
+    'pprint-exit-if-list-exhausted', 'pprint-logical-block', 'pprint-pop',
+    'print-unreadable-object', 'prog', 'prog*', 'prog1', 'prog2', 'psetf',
+    'psetq', 'push', 'pushnew', 'remf', 'restart-bind', 'restart-case',
+    'return', 'rotatef', 'setf', 'shiftf', 'step', 'time', 'trace', 'typecase',
+    'unless', 'untrace', 'when', 'with-accessors', 'with-compilation-unit',
+    'with-condition-restarts', 'with-hash-table-iterator',
+    'with-input-from-string', 'with-open-file', 'with-open-stream',
+    'with-output-to-string', 'with-package-iterator', 'with-simple-restart',
+    'with-slots', 'with-standard-io-syntax',
+))
+
+LAMBDA_LIST_KEYWORDS = set((
+    '&allow-other-keys', '&aux', '&body', '&environment', '&key', '&optional',
+    '&rest', '&whole',
+))
+
+DECLARATIONS = set((
+    'dynamic-extent', 'ignore', 'optimize', 'ftype', 'inline', 'special',
+    'ignorable', 'notinline', 'type',
+))
+
+BUILTIN_TYPES = set((
+    'atom', 'boolean', 'base-char', 'base-string', 'bignum', 'bit',
+    'compiled-function', 'extended-char', 'fixnum', 'keyword', 'nil',
+    'signed-byte', 'short-float', 'single-float', 'double-float', 'long-float',
+    'simple-array', 'simple-base-string', 'simple-bit-vector', 'simple-string',
+    'simple-vector', 'standard-char', 'unsigned-byte',
+
+    # Condition Types
+    'arithmetic-error', 'cell-error', 'condition', 'control-error',
+    'division-by-zero', 'end-of-file', 'error', 'file-error',
+    'floating-point-inexact', 'floating-point-overflow',
+    'floating-point-underflow', 'floating-point-invalid-operation',
+    'parse-error', 'package-error', 'print-not-readable', 'program-error',
+    'reader-error', 'serious-condition', 'simple-condition', 'simple-error',
+    'simple-type-error', 'simple-warning', 'stream-error', 'storage-condition',
+    'style-warning', 'type-error', 'unbound-variable', 'unbound-slot',
+    'undefined-function', 'warning',
+))
+
+BUILTIN_CLASSES = set((
+    'array', 'broadcast-stream', 'bit-vector', 'built-in-class', 'character',
+    'class', 'complex', 'concatenated-stream', 'cons', 'echo-stream',
+    'file-stream', 'float', 'function', 'generic-function', 'hash-table',
+    'integer', 'list', 'logical-pathname', 'method-combination', 'method',
+    'null', 'number', 'package', 'pathname', 'ratio', 'rational', 'readtable',
+    'real', 'random-state', 'restart', 'sequence', 'standard-class',
+    'standard-generic-function', 'standard-method', 'standard-object',
+    'string-stream', 'stream', 'string', 'structure-class', 'structure-object',
+    'symbol', 'synonym-stream', 't', 'two-way-stream', 'vector',
+))
--- a/MoinMoin/support/pygments/lexers/_clbuiltins.py	Mon Sep 05 23:44:04 2016 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    pygments.lexers._clbuiltins
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-    ANSI Common Lisp builtins.
-
-    :copyright: Copyright 2006-2013 by the Pygments team, see AUTHORS.
-    :license: BSD, see LICENSE for details.
-"""
-
-BUILTIN_FUNCTIONS = [ # 638 functions
-    '<', '<=', '=', '>', '>=', '-', '/', '/=', '*', '+', '1-', '1+',
-    'abort', 'abs', 'acons', 'acos', 'acosh', 'add-method', 'adjoin',
-    'adjustable-array-p', 'adjust-array', 'allocate-instance',
-    'alpha-char-p', 'alphanumericp', 'append', 'apply', 'apropos',
-    'apropos-list', 'aref', 'arithmetic-error-operands',
-    'arithmetic-error-operation', 'array-dimension', 'array-dimensions',
-    'array-displacement', 'array-element-type', 'array-has-fill-pointer-p',
-    'array-in-bounds-p', 'arrayp', 'array-rank', 'array-row-major-index',
-    'array-total-size', 'ash', 'asin', 'asinh', 'assoc', 'assoc-if',
-    'assoc-if-not', 'atan', 'atanh', 'atom', 'bit', 'bit-and', 'bit-andc1',
-    'bit-andc2', 'bit-eqv', 'bit-ior', 'bit-nand', 'bit-nor', 'bit-not',
-    'bit-orc1', 'bit-orc2', 'bit-vector-p', 'bit-xor', 'boole',
-    'both-case-p', 'boundp', 'break', 'broadcast-stream-streams',
-    'butlast', 'byte', 'byte-position', 'byte-size', 'caaaar', 'caaadr',
-    'caaar', 'caadar', 'caaddr', 'caadr', 'caar', 'cadaar', 'cadadr',
-    'cadar', 'caddar', 'cadddr', 'caddr', 'cadr', 'call-next-method', 'car',
-    'cdaaar', 'cdaadr', 'cdaar', 'cdadar', 'cdaddr', 'cdadr', 'cdar',
-    'cddaar', 'cddadr', 'cddar', 'cdddar', 'cddddr', 'cdddr', 'cddr', 'cdr',
-    'ceiling', 'cell-error-name', 'cerror', 'change-class', 'char', 'char<',
-    'char<=', 'char=', 'char>', 'char>=', 'char/=', 'character',
-    'characterp', 'char-code', 'char-downcase', 'char-equal',
-    'char-greaterp', 'char-int', 'char-lessp', 'char-name',
-    'char-not-equal', 'char-not-greaterp', 'char-not-lessp', 'char-upcase',
-    'cis', 'class-name', 'class-of', 'clear-input', 'clear-output',
-    'close', 'clrhash', 'code-char', 'coerce', 'compile',
-    'compiled-function-p', 'compile-file', 'compile-file-pathname',
-    'compiler-macro-function', 'complement', 'complex', 'complexp',
-    'compute-applicable-methods', 'compute-restarts', 'concatenate',
-    'concatenated-stream-streams', 'conjugate', 'cons', 'consp',
-    'constantly', 'constantp', 'continue', 'copy-alist', 'copy-list',
-    'copy-pprint-dispatch', 'copy-readtable', 'copy-seq', 'copy-structure',
-    'copy-symbol', 'copy-tree', 'cos', 'cosh', 'count', 'count-if',
-    'count-if-not', 'decode-float', 'decode-universal-time', 'delete',
-    'delete-duplicates', 'delete-file', 'delete-if', 'delete-if-not',
-    'delete-package', 'denominator', 'deposit-field', 'describe',
-    'describe-object', 'digit-char', 'digit-char-p', 'directory',
-    'directory-namestring', 'disassemble', 'documentation', 'dpb',
-    'dribble', 'echo-stream-input-stream', 'echo-stream-output-stream',
-    'ed', 'eighth', 'elt', 'encode-universal-time', 'endp',
-    'enough-namestring', 'ensure-directories-exist',
-    'ensure-generic-function', 'eq', 'eql', 'equal', 'equalp', 'error',
-    'eval', 'evenp', 'every', 'exp', 'export', 'expt', 'fboundp',
-    'fceiling', 'fdefinition', 'ffloor', 'fifth', 'file-author',
-    'file-error-pathname', 'file-length', 'file-namestring',
-    'file-position', 'file-string-length', 'file-write-date',
-    'fill', 'fill-pointer', 'find', 'find-all-symbols', 'find-class',
-    'find-if', 'find-if-not', 'find-method', 'find-package', 'find-restart',
-    'find-symbol', 'finish-output', 'first', 'float', 'float-digits',
-    'floatp', 'float-precision', 'float-radix', 'float-sign', 'floor',
-    'fmakunbound', 'force-output', 'format', 'fourth', 'fresh-line',
-    'fround', 'ftruncate', 'funcall', 'function-keywords',
-    'function-lambda-expression', 'functionp', 'gcd', 'gensym', 'gentemp',
-    'get', 'get-decoded-time', 'get-dispatch-macro-character', 'getf',
-    'gethash', 'get-internal-real-time', 'get-internal-run-time',
-    'get-macro-character', 'get-output-stream-string', 'get-properties',
-    'get-setf-expansion', 'get-universal-time', 'graphic-char-p',
-    'hash-table-count', 'hash-table-p', 'hash-table-rehash-size',
-    'hash-table-rehash-threshold', 'hash-table-size', 'hash-table-test',
-    'host-namestring', 'identity', 'imagpart', 'import',
-    'initialize-instance', 'input-stream-p', 'inspect',
-    'integer-decode-float', 'integer-length', 'integerp',
-    'interactive-stream-p', 'intern', 'intersection',
-    'invalid-method-error', 'invoke-debugger', 'invoke-restart',
-    'invoke-restart-interactively', 'isqrt', 'keywordp', 'last', 'lcm',
-    'ldb', 'ldb-test', 'ldiff', 'length', 'lisp-implementation-type',
-    'lisp-implementation-version', 'list', 'list*', 'list-all-packages',
-    'listen', 'list-length', 'listp', 'load',
-    'load-logical-pathname-translations', 'log', 'logand', 'logandc1',
-    'logandc2', 'logbitp', 'logcount', 'logeqv', 'logical-pathname',
-    'logical-pathname-translations', 'logior', 'lognand', 'lognor',
-    'lognot', 'logorc1', 'logorc2', 'logtest', 'logxor', 'long-site-name',
-    'lower-case-p', 'machine-instance', 'machine-type', 'machine-version',
-    'macroexpand', 'macroexpand-1', 'macro-function', 'make-array',
-    'make-broadcast-stream', 'make-concatenated-stream', 'make-condition',
-    'make-dispatch-macro-character', 'make-echo-stream', 'make-hash-table',
-    'make-instance', 'make-instances-obsolete', 'make-list',
-    'make-load-form', 'make-load-form-saving-slots', 'make-package',
-    'make-pathname', 'make-random-state', 'make-sequence', 'make-string',
-    'make-string-input-stream', 'make-string-output-stream', 'make-symbol',
-    'make-synonym-stream', 'make-two-way-stream', 'makunbound', 'map',
-    'mapc', 'mapcan', 'mapcar', 'mapcon', 'maphash', 'map-into', 'mapl',
-    'maplist', 'mask-field', 'max', 'member', 'member-if', 'member-if-not',
-    'merge', 'merge-pathnames', 'method-combination-error',
-    'method-qualifiers', 'min', 'minusp', 'mismatch', 'mod',
-    'muffle-warning', 'name-char', 'namestring', 'nbutlast', 'nconc',
-    'next-method-p', 'nintersection', 'ninth', 'no-applicable-method',
-    'no-next-method', 'not', 'notany', 'notevery', 'nreconc', 'nreverse',
-    'nset-difference', 'nset-exclusive-or', 'nstring-capitalize',
-    'nstring-downcase', 'nstring-upcase', 'nsublis', 'nsubst', 'nsubst-if',
-    'nsubst-if-not', 'nsubstitute', 'nsubstitute-if', 'nsubstitute-if-not',
-    'nth', 'nthcdr', 'null', 'numberp', 'numerator', 'nunion', 'oddp',
-    'open', 'open-stream-p', 'output-stream-p', 'package-error-package',
-    'package-name', 'package-nicknames', 'packagep',
-    'package-shadowing-symbols', 'package-used-by-list', 'package-use-list',
-    'pairlis', 'parse-integer', 'parse-namestring', 'pathname',
-    'pathname-device', 'pathname-directory', 'pathname-host',
-    'pathname-match-p', 'pathname-name', 'pathnamep', 'pathname-type',
-    'pathname-version', 'peek-char', 'phase', 'plusp', 'position',
-    'position-if', 'position-if-not', 'pprint', 'pprint-dispatch',
-    'pprint-fill', 'pprint-indent', 'pprint-linear', 'pprint-newline',
-    'pprint-tab', 'pprint-tabular', 'prin1', 'prin1-to-string', 'princ',
-    'princ-to-string', 'print', 'print-object', 'probe-file', 'proclaim',
-    'provide', 'random', 'random-state-p', 'rassoc', 'rassoc-if',
-    'rassoc-if-not', 'rational', 'rationalize', 'rationalp', 'read',
-    'read-byte', 'read-char', 'read-char-no-hang', 'read-delimited-list',
-    'read-from-string', 'read-line', 'read-preserving-whitespace',
-    'read-sequence', 'readtable-case', 'readtablep', 'realp', 'realpart',
-    'reduce', 'reinitialize-instance', 'rem', 'remhash', 'remove',
-    'remove-duplicates', 'remove-if', 'remove-if-not', 'remove-method',
-    'remprop', 'rename-file', 'rename-package', 'replace', 'require',
-    'rest', 'restart-name', 'revappend', 'reverse', 'room', 'round',
-    'row-major-aref', 'rplaca', 'rplacd', 'sbit', 'scale-float', 'schar',
-    'search', 'second', 'set', 'set-difference',
-    'set-dispatch-macro-character', 'set-exclusive-or',
-    'set-macro-character', 'set-pprint-dispatch', 'set-syntax-from-char',
-    'seventh', 'shadow', 'shadowing-import', 'shared-initialize',
-    'short-site-name', 'signal', 'signum', 'simple-bit-vector-p',
-    'simple-condition-format-arguments', 'simple-condition-format-control',
-    'simple-string-p', 'simple-vector-p', 'sin', 'sinh', 'sixth', 'sleep',
-    'slot-boundp', 'slot-exists-p', 'slot-makunbound', 'slot-missing',
-    'slot-unbound', 'slot-value', 'software-type', 'software-version',
-    'some', 'sort', 'special-operator-p', 'sqrt', 'stable-sort',
-    'standard-char-p', 'store-value', 'stream-element-type',
-    'stream-error-stream', 'stream-external-format', 'streamp', 'string',
-    'string<', 'string<=', 'string=', 'string>', 'string>=', 'string/=',
-    'string-capitalize', 'string-downcase', 'string-equal',
-    'string-greaterp', 'string-left-trim', 'string-lessp',
-    'string-not-equal', 'string-not-greaterp', 'string-not-lessp',
-    'stringp', 'string-right-trim', 'string-trim', 'string-upcase',
-    'sublis', 'subseq', 'subsetp', 'subst', 'subst-if', 'subst-if-not',
-    'substitute', 'substitute-if', 'substitute-if-not', 'subtypep','svref',
-    'sxhash', 'symbol-function', 'symbol-name', 'symbolp', 'symbol-package',
-    'symbol-plist', 'symbol-value', 'synonym-stream-symbol', 'syntax:',
-    'tailp', 'tan', 'tanh', 'tenth', 'terpri', 'third',
-    'translate-logical-pathname', 'translate-pathname', 'tree-equal',
-    'truename', 'truncate', 'two-way-stream-input-stream',
-    'two-way-stream-output-stream', 'type-error-datum',
-    'type-error-expected-type', 'type-of', 'typep', 'unbound-slot-instance',
-    'unexport', 'unintern', 'union', 'unread-char', 'unuse-package',
-    'update-instance-for-different-class',
-    'update-instance-for-redefined-class', 'upgraded-array-element-type',
-    'upgraded-complex-part-type', 'upper-case-p', 'use-package',
-    'user-homedir-pathname', 'use-value', 'values', 'values-list', 'vector',
-    'vectorp', 'vector-pop', 'vector-push', 'vector-push-extend', 'warn',
-    'wild-pathname-p', 'write', 'write-byte', 'write-char', 'write-line',
-    'write-sequence', 'write-string', 'write-to-string', 'yes-or-no-p',
-    'y-or-n-p', 'zerop',
-]
-
-SPECIAL_FORMS = [
-    'block', 'catch', 'declare', 'eval-when', 'flet', 'function', 'go', 'if',
-    'labels', 'lambda', 'let', 'let*', 'load-time-value', 'locally', 'macrolet',
-    'multiple-value-call', 'multiple-value-prog1', 'progn', 'progv', 'quote',
-    'return-from', 'setq', 'symbol-macrolet', 'tagbody', 'the', 'throw',
-    'unwind-protect',
-]
-
-MACROS = [
-    'and', 'assert', 'call-method', 'case', 'ccase', 'check-type', 'cond',
-    'ctypecase', 'decf', 'declaim', 'defclass', 'defconstant', 'defgeneric',
-    'define-compiler-macro', 'define-condition', 'define-method-combination',
-    'define-modify-macro', 'define-setf-expander', 'define-symbol-macro',
-    'defmacro', 'defmethod', 'defpackage', 'defparameter', 'defsetf',
-    'defstruct', 'deftype', 'defun', 'defvar', 'destructuring-bind', 'do',
-    'do*', 'do-all-symbols', 'do-external-symbols', 'dolist', 'do-symbols',
-    'dotimes', 'ecase', 'etypecase', 'formatter', 'handler-bind',
-    'handler-case', 'ignore-errors', 'incf', 'in-package', 'lambda', 'loop',
-    'loop-finish', 'make-method', 'multiple-value-bind', 'multiple-value-list',
-    'multiple-value-setq', 'nth-value', 'or', 'pop',
-    'pprint-exit-if-list-exhausted', 'pprint-logical-block', 'pprint-pop',
-    'print-unreadable-object', 'prog', 'prog*', 'prog1', 'prog2', 'psetf',
-    'psetq', 'push', 'pushnew', 'remf', 'restart-bind', 'restart-case',
-    'return', 'rotatef', 'setf', 'shiftf', 'step', 'time', 'trace', 'typecase',
-    'unless', 'untrace', 'when', 'with-accessors', 'with-compilation-unit',
-    'with-condition-restarts', 'with-hash-table-iterator',
-    'with-input-from-string', 'with-open-file', 'with-open-stream',
-    'with-output-to-string', 'with-package-iterator', 'with-simple-restart',
-    'with-slots', 'with-standard-io-syntax',
-]
-
-LAMBDA_LIST_KEYWORDS = [
-    '&allow-other-keys', '&aux', '&body', '&environment', '&key', '&optional',
-    '&rest', '&whole',
-]
-
-DECLARATIONS = [
-    'dynamic-extent', 'ignore', 'optimize', 'ftype', 'inline', 'special',
-    'ignorable', 'notinline', 'type',
-]
-
-BUILTIN_TYPES = [
-    'atom', 'boolean', 'base-char', 'base-string', 'bignum', 'bit',
-    'compiled-function', 'extended-char', 'fixnum', 'keyword', 'nil',
-    'signed-byte', 'short-float', 'single-float', 'double-float', 'long-float',
-    'simple-array', 'simple-base-string', 'simple-bit-vector', 'simple-string',
-    'simple-vector', 'standard-char', 'unsigned-byte',
-
-    # Condition Types
-    'arithmetic-error', 'cell-error', 'condition', 'control-error',
-    'division-by-zero', 'end-of-file', 'error', 'file-error',
-    'floating-point-inexact', 'floating-point-overflow',
-    'floating-point-underflow', 'floating-point-invalid-operation',
-    'parse-error', 'package-error', 'print-not-readable', 'program-error',
-    'reader-error', 'serious-condition', 'simple-condition', 'simple-error',
-    'simple-type-error', 'simple-warning', 'stream-error', 'storage-condition',
-    'style-warning', 'type-error', 'unbound-variable', 'unbound-slot',
-    'undefined-function', 'warning',
-]
-
-BUILTIN_CLASSES = [
-    'array', 'broadcast-stream', 'bit-vector', 'built-in-class', 'character',
-    'class', 'complex', 'concatenated-stream', 'cons', 'echo-stream',
-    'file-stream', 'float', 'function', 'generic-function', 'hash-table',
-    'integer', 'list', 'logical-pathname', 'method-combination', 'method',
-    'null', 'number', 'package', 'pathname', 'ratio', 'rational', 'readtable',
-    'real', 'random-state', 'restart', 'sequence', 'standard-class',
-    'standard-generic-function', 'standard-method', 'standard-object',
-    'string-stream', 'stream', 'string', 'structure-class', 'structure-object',
-    'symbol', 'synonym-stream', 't', 'two-way-stream', 'vector',
-]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/lexers/_cocoa_builtins.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,72 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers._cocoa_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    This file defines a set of types used across Cocoa frameworks from Apple.
+    There is a list of @interfaces, @protocols and some other (structs, unions)
+
+    File may be also used as standalone generator for aboves.
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+from __future__ import print_function
+
+COCOA_INTERFACES = set(['UITableViewCell', 'HKCorrelationQuery', 'NSURLSessionDataTask', 'PHFetchOptions', 'NSLinguisticTagger', 'NSStream', 'AVAudioUnitDelay', 'GCMotion', 'SKPhysicsWorld', 'NSString', 'CMAttitude', 'AVAudioEnvironmentDistanceAttenuationParameters', 'HKStatisticsCollection', 'SCNPlane', 'CBPeer', 'JSContext', 'SCNTransaction', 'SCNTorus', 'AVAudioUnitEffect', 'UICollectionReusableView', 'MTLSamplerDescriptor', 'AVAssetReaderSampleReferenceOutput', 'AVMutableCompositionTrack', 'GKLeaderboard', 'NSFetchedResultsController', 'SKRange', 'MKTileOverlayRenderer', 'MIDINetworkSession', 'UIVisualEffectView', 'CIWarpKernel', 'PKObject', 'MKRoute', 'MPVolumeView', 'UIPrintInfo', 'SCNText', 'ADClient', 'PKPayment', 'AVMutableAudioMix', 'GLKEffectPropertyLight', 'WKScriptMessage', 'AVMIDIPlayer', 'PHCollectionListChangeRequest', 'UICollectionViewLayout', 'NSMutableCharacterSet', 'SKPaymentTransaction', 'NEOnDemandRuleConnect', 'NSShadow', 'SCNView', 'NSURLSessionConfiguration', 'MTLVertexAttributeDescriptor', 'CBCharacteristic', 'HKQuantityType', 'CKLocationSortDescriptor', 'NEVPNIKEv2SecurityAssociationParameters', 'CMStepCounter', 'NSNetService', 'AVAssetWriterInputMetadataAdaptor', 'UICollectionView', 'UIViewPrintFormatter', 'SCNLevelOfDetail', 'CAShapeLayer', 'MCPeerID', 'MPRatingCommand', 'WKNavigation', 'NSDictionary', 'NSFileVersion', 'CMGyroData', 'AVAudioUnitDistortion', 'CKFetchRecordsOperation', 'SKPhysicsJointSpring', 'SCNHitTestResult', 'AVAudioTime', 'CIFilter', 'UIView', 'SCNConstraint', 'CAPropertyAnimation', 'MKMapItem', 'MPRemoteCommandCenter', 'PKPaymentSummaryItem', 'UICollectionViewFlowLayoutInvalidationContext', 'UIInputViewController', 'PKPass', 'SCNPhysicsBehavior', 'MTLRenderPassColorAttachmentDescriptor', 'MKPolygonRenderer', 'CKNotification', 'JSValue', 'PHCollectionList', 'CLGeocoder', 'NSByteCountFormatter', 'AVCaptureScreenInput', 'MPFeedbackCommand', 'CAAnimation', 'MKOverlayPathView', 'UIActionSheet', 'UIMotionEffectGroup', 'NSLengthFormatter', 'UIBarItem', 'SKProduct', 'AVAssetExportSession', 'NSKeyedUnarchiver', 'NSMutableSet', 'SCNPyramid', 'PHAssetCollection', 'MKMapView', 'HMHomeManager', 'CATransition', 'MTLCompileOptions', 'UIVibrancyEffect', 'CLCircularRegion', 'MKTileOverlay', 'SCNShape', 'ACAccountCredential', 'SKPhysicsJointLimit', 'MKMapSnapshotter', 'AVMediaSelectionGroup', 'NSIndexSet', 'CBPeripheralManager', 'CKRecordZone', 'AVAudioRecorder', 'NSURL', 'CBCentral', 'NSNumber', 'AVAudioOutputNode', 'MTLVertexAttributeDescriptorArray', 'MKETAResponse', 'SKTransition', 'SSReadingList', 'HKSourceQuery', 'UITableViewRowAction', 'UITableView', 'SCNParticlePropertyController', 'AVCaptureStillImageOutput', 'GCController', 'AVAudioPlayerNode', 'AVAudioSessionPortDescription', 'NSHTTPURLResponse', 'NEOnDemandRuleEvaluateConnection', 'SKEffectNode', 'HKQuantity', 'GCControllerElement', 'AVPlayerItemAccessLogEvent', 'SCNBox', 'NSExtensionContext', 'MKOverlayRenderer', 'SCNPhysicsVehicle', 'NSDecimalNumber', 'EKReminder', 'MKPolylineView', 'CKQuery', 'AVAudioMixerNode', 'GKAchievementDescription', 'EKParticipant', 'NSBlockOperation', 'UIActivityItemProvider', 'CLLocation', 'NSBatchUpdateRequest', 'PHContentEditingOutput', 'PHObjectChangeDetails', 'HKWorkoutType', 'MPMoviePlayerController', 'AVAudioFormat', 'HMTrigger', 'MTLRenderPassDepthAttachmentDescriptor', 'SCNRenderer', 'GKScore', 'UISplitViewController', 'HKSource', 'NSURLConnection', 'ABUnknownPersonViewController', 'SCNTechnique', 'UIMenuController', 'NSEvent', 'SKTextureAtlas', 'NSKeyedArchiver', 'GKLeaderboardSet', 'NSSimpleCString', 'AVAudioPCMBuffer', 'CBATTRequest', 'GKMatchRequest', 'AVMetadataObject', 'SKProductsRequest', 'UIAlertView', 'NSIncrementalStore', 'MFMailComposeViewController', 'SCNFloor', 'NSSortDescriptor', 'CKFetchNotificationChangesOperation', 'MPMovieAccessLog', 'NSManagedObjectContext', 'AVAudioUnitGenerator', 'WKBackForwardList', 'SKMutableTexture', 'AVCaptureAudioDataOutput', 'ACAccount', 'AVMetadataItem', 'MPRatingCommandEvent', 'AVCaptureDeviceInputSource', 'CLLocationManager', 'MPRemoteCommand', 'AVCaptureSession', 'UIStepper', 'UIRefreshControl', 'NEEvaluateConnectionRule', 'CKModifyRecordsOperation', 'UICollectionViewTransitionLayout', 'CBCentralManager', 'NSPurgeableData', 'PKShippingMethod', 'SLComposeViewController', 'NSHashTable', 'MKUserTrackingBarButtonItem', 'UILexiconEntry', 'CMMotionActivity', 'SKAction', 'SKShader', 'AVPlayerItemOutput', 'MTLRenderPassAttachmentDescriptor', 'UIDocumentInteractionController', 'UIDynamicItemBehavior', 'NSMutableDictionary', 'UILabel', 'AVCaptureInputPort', 'NSExpression', 'CAInterAppAudioTransportView', 'SKMutablePayment', 'UIImage', 'PHCachingImageManager', 'SCNTransformConstraint', 'HKCorrelationType', 'UIColor', 'SCNGeometrySource', 'AVCaptureAutoExposureBracketedStillImageSettings', 'UIPopoverBackgroundView', 'UIToolbar', 'NSNotificationCenter', 'UICollectionViewLayoutAttributes', 'AVAssetReaderOutputMetadataAdaptor', 'NSEntityMigrationPolicy', 'HMUser', 'NSLocale', 'NSURLSession', 'SCNCamera', 'NSTimeZone', 'UIManagedDocument', 'AVMutableVideoCompositionLayerInstruction', 'AVAssetTrackGroup', 'NSInvocationOperation', 'ALAssetRepresentation', 'AVQueuePlayer', 'HMServiceGroup', 'UIPasteboard', 'PHContentEditingInput', 'NSLayoutManager', 'EKCalendarChooser', 'EKObject', 'CATiledLayer', 'GLKReflectionMapEffect', 'NSManagedObjectID', 'NSEnergyFormatter', 'SLRequest', 'HMCharacteristic', 'AVPlayerLayer', 'MTLRenderPassDescriptor', 'SKPayment', 'NSPointerArray', 'AVAudioMix', 'SCNLight', 'MCAdvertiserAssistant', 'MKMapSnapshotOptions', 'HKCategorySample', 'AVAudioEnvironmentReverbParameters', 'SCNMorpher', 'AVTimedMetadataGroup', 'CBMutableCharacteristic', 'NSFetchRequest', 'UIDevice', 'NSManagedObject', 'NKAssetDownload', 'AVOutputSettingsAssistant', 'SKPhysicsJointPin', 'UITabBar', 'UITextInputMode', 'NSFetchRequestExpression', 'HMActionSet', 'CTSubscriber', 'PHAssetChangeRequest', 'NSPersistentStoreRequest', 'UITabBarController', 'HKQuantitySample', 'AVPlayerItem', 'AVSynchronizedLayer', 'MKDirectionsRequest', 'NSMetadataItem', 'UIPresentationController', 'UINavigationItem', 'PHFetchResultChangeDetails', 'PHImageManager', 'AVCaptureManualExposureBracketedStillImageSettings', 'UIStoryboardPopoverSegue', 'SCNLookAtConstraint', 'UIGravityBehavior', 'UIWindow', 'CBMutableDescriptor', 'NEOnDemandRuleDisconnect', 'UIBezierPath', 'UINavigationController', 'ABPeoplePickerNavigationController', 'EKSource', 'AVAssetWriterInput', 'AVPlayerItemTrack', 'GLKEffectPropertyTexture', 'NSHTTPCookie', 'NSURLResponse', 'SKPaymentQueue', 'NSAssertionHandler', 'MKReverseGeocoder', 'GCControllerAxisInput', 'NSArray', 'NSOrthography', 'NSURLSessionUploadTask', 'NSCharacterSet', 'AVMutableVideoCompositionInstruction', 'AVAssetReaderOutput', 'EAGLContext', 'WKFrameInfo', 'CMPedometer', 'MyClass', 'CKModifyBadgeOperation', 'AVCaptureAudioFileOutput', 'SKEmitterNode', 'NSMachPort', 'AVVideoCompositionCoreAnimationTool', 'PHCollection', 'SCNPhysicsWorld', 'NSURLRequest', 'CMAccelerometerData', 'NSNetServiceBrowser', 'CLFloor', 'AVAsynchronousVideoCompositionRequest', 'SCNGeometry', 'SCNIKConstraint', 'CIKernel', 'CAGradientLayer', 'HKCharacteristicType', 'NSFormatter', 'SCNAction', 'CATransaction', 'CBUUID', 'UIStoryboard', 'MPMediaLibrary', 'UITapGestureRecognizer', 'MPMediaItemArtwork', 'NSURLSessionTask', 'AVAudioUnit', 'MCBrowserViewController', 'UIFontDescriptor', 'NSRelationshipDescription', 'HKSample', 'WKWebView', 'NSMutableAttributedString', 'NSPersistentStoreAsynchronousResult', 'MPNowPlayingInfoCenter', 'MKLocalSearch', 'EAAccessory', 'HKCorrelation', 'CATextLayer', 'NSNotificationQueue', 'UINib', 'GLKTextureLoader', 'HKObjectType', 'NSValue', 'NSMutableIndexSet', 'SKPhysicsContact', 'NSProgress', 'AVPlayerViewController', 'CAScrollLayer', 'GKSavedGame', 'NSTextCheckingResult', 'PHObjectPlaceholder', 'SKConstraint', 'EKEventEditViewController', 'NSEntityDescription', 'NSURLCredentialStorage', 'UIApplication', 'SKDownload', 'SCNNode', 'MKLocalSearchRequest', 'SKScene', 'UISearchDisplayController', 'NEOnDemandRule', 'MTLRenderPassStencilAttachmentDescriptor', 'CAReplicatorLayer', 'UIPrintPageRenderer', 'EKCalendarItem', 'NSUUID', 'EAAccessoryManager', 'NEOnDemandRuleIgnore', 'SKRegion', 'AVAssetResourceLoader', 'EAWiFiUnconfiguredAccessoryBrowser', 'NSUserActivity', 'CTCall', 'UIPrinterPickerController', 'CIVector', 'UINavigationBar', 'UIPanGestureRecognizer', 'MPMediaQuery', 'ABNewPersonViewController', 'CKRecordZoneID', 'HKAnchoredObjectQuery', 'CKFetchRecordZonesOperation', 'UIStoryboardSegue', 'ACAccountType', 'GKSession', 'SKVideoNode', 'PHChange', 'SKReceiptRefreshRequest', 'GCExtendedGamepadSnapshot', 'MPSeekCommandEvent', 'GCExtendedGamepad', 'CAValueFunction', 'SCNCylinder', 'NSNotification', 'NSBatchUpdateResult', 'PKPushCredentials', 'SCNPhysicsSliderJoint', 'AVCaptureDeviceFormat', 'AVPlayerItemErrorLog', 'NSMapTable', 'NSSet', 'CMMotionManager', 'GKVoiceChatService', 'UIPageControl', 'UILexicon', 'MTLArrayType', 'AVAudioUnitReverb', 'MKGeodesicPolyline', 'AVMutableComposition', 'NSLayoutConstraint', 'UIPrinter', 'NSOrderedSet', 'CBAttribute', 'PKPushPayload', 'NSIncrementalStoreNode', 'EKEventStore', 'MPRemoteCommandEvent', 'UISlider', 'UIBlurEffect', 'CKAsset', 'AVCaptureInput', 'AVAudioEngine', 'MTLVertexDescriptor', 'SKPhysicsBody', 'NSOperation', 'PKPaymentPass', 'UIImageAsset', 'MKMapCamera', 'SKProductsResponse', 'GLKEffectPropertyMaterial', 'AVCaptureDevice', 'CTCallCenter', 'CABTMIDILocalPeripheralViewController', 'NEVPNManager', 'HKQuery', 'SCNPhysicsContact', 'CBMutableService', 'AVSampleBufferDisplayLayer', 'SCNSceneSource', 'SKLightNode', 'CKDiscoveredUserInfo', 'NSMutableArray', 'MTLDepthStencilDescriptor', 'MTLArgument', 'NSMassFormatter', 'CIRectangleFeature', 'PKPushRegistry', 'NEVPNConnection', 'MCNearbyServiceBrowser', 'NSOperationQueue', 'MKPolylineRenderer', 'HKWorkout', 'NSValueTransformer', 'UICollectionViewFlowLayout', 'MPChangePlaybackRateCommandEvent', 'NSEntityMapping', 'SKTexture', 'NSMergePolicy', 'UITextInputStringTokenizer', 'NSRecursiveLock', 'AVAsset', 'NSUndoManager', 'AVAudioUnitSampler', 'NSItemProvider', 'SKUniform', 'MPMediaPickerController', 'CKOperation', 'MTLRenderPipelineDescriptor', 'EAWiFiUnconfiguredAccessory', 'NSFileCoordinator', 'SKRequest', 'NSFileHandle', 'NSConditionLock', 'UISegmentedControl', 'NSManagedObjectModel', 'UITabBarItem', 'SCNCone', 'MPMediaItem', 'SCNMaterial', 'EKRecurrenceRule', 'UIEvent', 'UITouch', 'UIPrintInteractionController', 'CMDeviceMotion', 'NEVPNProtocol', 'NSCompoundPredicate', 'HKHealthStore', 'MKMultiPoint', 'HKSampleType', 'UIPrintFormatter', 'AVAudioUnitEQFilterParameters', 'SKView', 'NSConstantString', 'UIPopoverController', 'CKDatabase', 'AVMetadataFaceObject', 'UIAccelerometer', 'EKEventViewController', 'CMAltitudeData', 'MTLStencilDescriptor', 'UISwipeGestureRecognizer', 'NSPort', 'MKCircleRenderer', 'AVCompositionTrack', 'NSAsynchronousFetchRequest', 'NSUbiquitousKeyValueStore', 'NSMetadataQueryResultGroup', 'AVAssetResourceLoadingDataRequest', 'UITableViewHeaderFooterView', 'CKNotificationID', 'AVAudioSession', 'HKUnit', 'NSNull', 'NSPersistentStoreResult', 'MKCircleView', 'AVAudioChannelLayout', 'NEVPNProtocolIKEv2', 'WKProcessPool', 'UIAttachmentBehavior', 'CLBeacon', 'NSInputStream', 'NSURLCache', 'GKPlayer', 'NSMappingModel', 'CIQRCodeFeature', 'AVMutableVideoComposition', 'PHFetchResult', 'NSAttributeDescription', 'AVPlayer', 'MKAnnotationView', 'PKPaymentRequest', 'NSTimer', 'CBDescriptor', 'MKOverlayView', 'AVAudioUnitTimePitch', 'NSSaveChangesRequest', 'UIReferenceLibraryViewController', 'SKPhysicsJointFixed', 'UILocalizedIndexedCollation', 'UIInterpolatingMotionEffect', 'UIDocumentPickerViewController', 'AVAssetWriter', 'NSBundle', 'SKStoreProductViewController', 'GLKViewController', 'NSMetadataQueryAttributeValueTuple', 'GKTurnBasedMatch', 'AVAudioFile', 'UIActivity', 'NSPipe', 'MKShape', 'NSMergeConflict', 'CIImage', 'HKObject', 'UIRotationGestureRecognizer', 'AVPlayerItemLegibleOutput', 'AVAssetImageGenerator', 'GCControllerButtonInput', 'CKMarkNotificationsReadOperation', 'CKSubscription', 'MPTimedMetadata', 'NKIssue', 'UIScreenMode', 'HMAccessoryBrowser', 'GKTurnBasedEventHandler', 'UIWebView', 'MKPolyline', 'JSVirtualMachine', 'AVAssetReader', 'NSAttributedString', 'GKMatchmakerViewController', 'NSCountedSet', 'UIButton', 'WKNavigationResponse', 'GKLocalPlayer', 'MPMovieErrorLog', 'AVSpeechUtterance', 'HKStatistics', 'UILocalNotification', 'HKBiologicalSexObject', 'AVURLAsset', 'CBPeripheral', 'NSDateComponentsFormatter', 'SKSpriteNode', 'UIAccessibilityElement', 'AVAssetWriterInputGroup', 'HMZone', 'AVAssetReaderAudioMixOutput', 'NSEnumerator', 'UIDocument', 'MKLocalSearchResponse', 'UISimpleTextPrintFormatter', 'PHPhotoLibrary', 'CBService', 'UIDocumentMenuViewController', 'MCSession', 'QLPreviewController', 'CAMediaTimingFunction', 'UITextPosition', 'ASIdentifierManager', 'AVAssetResourceLoadingRequest', 'SLComposeServiceViewController', 'UIPinchGestureRecognizer', 'PHObject', 'NSExtensionItem', 'HKSampleQuery', 'MTLRenderPipelineColorAttachmentDescriptorArray', 'MKRouteStep', 'SCNCapsule', 'NSMetadataQuery', 'AVAssetResourceLoadingContentInformationRequest', 'UITraitCollection', 'CTCarrier', 'NSFileSecurity', 'UIAcceleration', 'UIMotionEffect', 'MTLRenderPipelineReflection', 'CLHeading', 'CLVisit', 'MKDirectionsResponse', 'HMAccessory', 'MTLStructType', 'UITextView', 'CMMagnetometerData', 'UICollisionBehavior', 'UIProgressView', 'CKServerChangeToken', 'UISearchBar', 'MKPlacemark', 'AVCaptureConnection', 'NSPropertyMapping', 'ALAssetsFilter', 'SK3DNode', 'AVPlayerItemErrorLogEvent', 'NSJSONSerialization', 'AVAssetReaderVideoCompositionOutput', 'ABPersonViewController', 'CIDetector', 'GKTurnBasedMatchmakerViewController', 'MPMediaItemCollection', 'SCNSphere', 'NSCondition', 'NSURLCredential', 'MIDINetworkConnection', 'NSFileProviderExtension', 'NSDecimalNumberHandler', 'NSAtomicStoreCacheNode', 'NSAtomicStore', 'EKAlarm', 'CKNotificationInfo', 'AVAudioUnitEQ', 'UIPercentDrivenInteractiveTransition', 'MKPolygon', 'AVAssetTrackSegment', 'MTLVertexAttribute', 'NSExpressionDescription', 'HKStatisticsCollectionQuery', 'NSURLAuthenticationChallenge', 'NSDirectoryEnumerator', 'MKDistanceFormatter', 'UIAlertAction', 'NSPropertyListSerialization', 'GKPeerPickerController', 'UIUserNotificationSettings', 'UITableViewController', 'GKNotificationBanner', 'MKPointAnnotation', 'MTLRenderPassColorAttachmentDescriptorArray', 'NSCache', 'SKPhysicsJoint', 'NSXMLParser', 'UIViewController', 'PKPaymentToken', 'MFMessageComposeViewController', 'AVAudioInputNode', 'NSDataDetector', 'CABTMIDICentralViewController', 'AVAudioUnitMIDIInstrument', 'AVCaptureVideoPreviewLayer', 'AVAssetWriterInputPassDescription', 'MPChangePlaybackRateCommand', 'NSURLComponents', 'CAMetalLayer', 'UISnapBehavior', 'AVMetadataMachineReadableCodeObject', 'CKDiscoverUserInfosOperation', 'NSTextAttachment', 'NSException', 'UIMenuItem', 'CMMotionActivityManager', 'SCNGeometryElement', 'NCWidgetController', 'CAEmitterLayer', 'MKUserLocation', 'UIImagePickerController', 'CIFeature', 'AVCaptureDeviceInput', 'ALAsset', 'NSURLSessionDownloadTask', 'SCNPhysicsHingeJoint', 'MPMoviePlayerViewController', 'NSMutableOrderedSet', 'SCNMaterialProperty', 'UIFont', 'AVCaptureVideoDataOutput', 'NSCachedURLResponse', 'ALAssetsLibrary', 'NSInvocation', 'UILongPressGestureRecognizer', 'NSTextStorage', 'WKWebViewConfiguration', 'CIFaceFeature', 'MKMapSnapshot', 'GLKEffectPropertyFog', 'AVComposition', 'CKDiscoverAllContactsOperation', 'AVAudioMixInputParameters', 'CAEmitterBehavior', 'PKPassLibrary', 'UIMutableUserNotificationCategory', 'NSLock', 'NEVPNProtocolIPSec', 'ADBannerView', 'UIDocumentPickerExtensionViewController', 'UIActivityIndicatorView', 'AVPlayerMediaSelectionCriteria', 'CALayer', 'UIAccessibilityCustomAction', 'UIBarButtonItem', 'AVAudioSessionRouteDescription', 'CLBeaconRegion', 'HKBloodTypeObject', 'MTLVertexBufferLayoutDescriptorArray', 'CABasicAnimation', 'AVVideoCompositionInstruction', 'AVMutableTimedMetadataGroup', 'EKRecurrenceEnd', 'NSTextContainer', 'TWTweetComposeViewController', 'PKPaymentAuthorizationViewController', 'UIScrollView', 'WKNavigationAction', 'AVPlayerItemMetadataOutput', 'EKRecurrenceDayOfWeek', 'NSNumberFormatter', 'MTLComputePipelineReflection', 'UIScreen', 'CLRegion', 'NSProcessInfo', 'GLKTextureInfo', 'SCNSkinner', 'AVCaptureMetadataOutput', 'SCNAnimationEvent', 'NSTextTab', 'JSManagedValue', 'NSDate', 'UITextChecker', 'WKBackForwardListItem', 'NSData', 'NSParagraphStyle', 'AVMutableMetadataItem', 'EKCalendar', 'HKWorkoutEvent', 'NSMutableURLRequest', 'UIVideoEditorController', 'HMTimerTrigger', 'AVAudioUnitVarispeed', 'UIDynamicAnimator', 'AVCompositionTrackSegment', 'GCGamepadSnapshot', 'MPMediaEntity', 'GLKSkyboxEffect', 'UISwitch', 'EKStructuredLocation', 'UIGestureRecognizer', 'NSProxy', 'GLKBaseEffect', 'UIPushBehavior', 'GKScoreChallenge', 'NSCoder', 'MPMediaPlaylist', 'NSDateComponents', 'WKUserScript', 'EKEvent', 'NSDateFormatter', 'NSAsynchronousFetchResult', 'AVAssetWriterInputPixelBufferAdaptor', 'UIVisualEffect', 'UICollectionViewCell', 'UITextField', 'CLPlacemark', 'MPPlayableContentManager', 'AVCaptureOutput', 'HMCharacteristicWriteAction', 'CKModifySubscriptionsOperation', 'NSPropertyDescription', 'GCGamepad', 'UIMarkupTextPrintFormatter', 'SCNTube', 'NSPersistentStoreCoordinator', 'AVAudioEnvironmentNode', 'GKMatchmaker', 'CIContext', 'NSThread', 'SLComposeSheetConfigurationItem', 'SKPhysicsJointSliding', 'NSPredicate', 'GKVoiceChat', 'SKCropNode', 'AVCaptureAudioPreviewOutput', 'NSStringDrawingContext', 'GKGameCenterViewController', 'UIPrintPaper', 'SCNPhysicsBallSocketJoint', 'UICollectionViewLayoutInvalidationContext', 'GLKEffectPropertyTransform', 'AVAudioIONode', 'UIDatePicker', 'MKDirections', 'ALAssetsGroup', 'CKRecordZoneNotification', 'SCNScene', 'MPMovieAccessLogEvent', 'CKFetchSubscriptionsOperation', 'CAEmitterCell', 'AVAudioUnitTimeEffect', 'HMCharacteristicMetadata', 'MKPinAnnotationView', 'UIPickerView', 'UIImageView', 'UIUserNotificationCategory', 'SCNPhysicsVehicleWheel', 'HKCategoryType', 'MPMediaQuerySection', 'GKFriendRequestComposeViewController', 'NSError', 'MTLRenderPipelineColorAttachmentDescriptor', 'SCNPhysicsShape', 'UISearchController', 'SCNPhysicsBody', 'CTSubscriberInfo', 'AVPlayerItemAccessLog', 'MPMediaPropertyPredicate', 'CMLogItem', 'NSAutoreleasePool', 'NSSocketPort', 'AVAssetReaderTrackOutput', 'SKNode', 'UIMutableUserNotificationAction', 'SCNProgram', 'AVSpeechSynthesisVoice', 'CMAltimeter', 'AVCaptureAudioChannel', 'GKTurnBasedExchangeReply', 'AVVideoCompositionLayerInstruction', 'AVSpeechSynthesizer', 'GKChallengeEventHandler', 'AVCaptureFileOutput', 'UIControl', 'SCNPhysicsField', 'CKReference', 'LAContext', 'CKRecordID', 'ADInterstitialAd', 'AVAudioSessionDataSourceDescription', 'AVAudioBuffer', 'CIColorKernel', 'GCControllerDirectionPad', 'NSFileManager', 'AVMutableAudioMixInputParameters', 'UIScreenEdgePanGestureRecognizer', 'CAKeyframeAnimation', 'CKQueryNotification', 'PHAdjustmentData', 'EASession', 'AVAssetResourceRenewalRequest', 'UIInputView', 'NSFileWrapper', 'UIResponder', 'NSPointerFunctions', 'UIKeyCommand', 'NSHTTPCookieStorage', 'AVMediaSelectionOption', 'NSRunLoop', 'NSFileAccessIntent', 'CAAnimationGroup', 'MKCircle', 'UIAlertController', 'NSMigrationManager', 'NSDateIntervalFormatter', 'UICollectionViewUpdateItem', 'CKDatabaseOperation', 'PHImageRequestOptions', 'SKReachConstraints', 'CKRecord', 'CAInterAppAudioSwitcherView', 'WKWindowFeatures', 'GKInvite', 'NSMutableData', 'PHAssetCollectionChangeRequest', 'NSMutableParagraphStyle', 'UIDynamicBehavior', 'GLKEffectProperty', 'CKFetchRecordChangesOperation', 'SKShapeNode', 'MPMovieErrorLogEvent', 'MKPolygonView', 'MPContentItem', 'HMAction', 'NSScanner', 'GKAchievementChallenge', 'AVAudioPlayer', 'CKContainer', 'AVVideoComposition', 'NKLibrary', 'NSPersistentStore', 'AVCaptureMovieFileOutput', 'HMRoom', 'GKChallenge', 'UITextRange', 'NSURLProtectionSpace', 'ACAccountStore', 'MPSkipIntervalCommand', 'NSComparisonPredicate', 'HMHome', 'PHVideoRequestOptions', 'NSOutputStream', 'MPSkipIntervalCommandEvent', 'PKAddPassesViewController', 'UITextSelectionRect', 'CTTelephonyNetworkInfo', 'AVTextStyleRule', 'NSFetchedPropertyDescription', 'UIPageViewController', 'CATransformLayer', 'UICollectionViewController', 'AVAudioNode', 'MCNearbyServiceAdvertiser', 'NSObject', 'PHAsset', 'GKLeaderboardViewController', 'CKQueryCursor', 'MPMusicPlayerController', 'MKOverlayPathRenderer', 'CMPedometerData', 'HMService', 'SKFieldNode', 'GKAchievement', 'WKUserContentController', 'AVAssetTrack', 'TWRequest', 'SKLabelNode', 'AVCaptureBracketedStillImageSettings', 'MIDINetworkHost', 'MPMediaPredicate', 'AVFrameRateRange', 'MTLTextureDescriptor', 'MTLVertexBufferLayoutDescriptor', 'MPFeedbackCommandEvent', 'UIUserNotificationAction', 'HKStatisticsQuery', 'SCNParticleSystem', 'NSIndexPath', 'AVVideoCompositionRenderContext', 'CADisplayLink', 'HKObserverQuery', 'UIPopoverPresentationController', 'CKQueryOperation', 'CAEAGLLayer', 'NSMutableString', 'NSMessagePort', 'NSURLQueryItem', 'MTLStructMember', 'AVAudioSessionChannelDescription', 'GLKView', 'UIActivityViewController', 'GKAchievementViewController', 'GKTurnBasedParticipant', 'NSURLProtocol', 'NSUserDefaults', 'NSCalendar', 'SKKeyframeSequence', 'AVMetadataItemFilter', 'CKModifyRecordZonesOperation', 'WKPreferences', 'NSMethodSignature', 'NSRegularExpression', 'EAGLSharegroup', 'AVPlayerItemVideoOutput', 'PHContentEditingInputRequestOptions', 'GKMatch', 'CIColor', 'UIDictationPhrase'])
+COCOA_PROTOCOLS = set(['SKStoreProductViewControllerDelegate', 'AVVideoCompositionInstruction', 'AVAudioSessionDelegate', 'GKMatchDelegate', 'NSFileManagerDelegate', 'UILayoutSupport', 'NSCopying', 'UIPrintInteractionControllerDelegate', 'QLPreviewControllerDataSource', 'SKProductsRequestDelegate', 'NSTextStorageDelegate', 'MCBrowserViewControllerDelegate', 'MTLComputeCommandEncoder', 'SCNSceneExportDelegate', 'UISearchResultsUpdating', 'MFMailComposeViewControllerDelegate', 'MTLBlitCommandEncoder', 'NSDecimalNumberBehaviors', 'PHContentEditingController', 'NSMutableCopying', 'UIActionSheetDelegate', 'UIViewControllerTransitioningDelegate', 'UIAlertViewDelegate', 'AVAudioPlayerDelegate', 'MKReverseGeocoderDelegate', 'NSCoding', 'UITextInputTokenizer', 'GKFriendRequestComposeViewControllerDelegate', 'UIActivityItemSource', 'NSCacheDelegate', 'UIAdaptivePresentationControllerDelegate', 'GKAchievementViewControllerDelegate', 'UIViewControllerTransitionCoordinator', 'EKEventEditViewDelegate', 'NSURLConnectionDelegate', 'UITableViewDelegate', 'GKPeerPickerControllerDelegate', 'UIGuidedAccessRestrictionDelegate', 'AVSpeechSynthesizerDelegate', 'AVAudio3DMixing', 'AVPlayerItemLegibleOutputPushDelegate', 'ADInterstitialAdDelegate', 'HMAccessoryBrowserDelegate', 'AVAssetResourceLoaderDelegate', 'UITabBarControllerDelegate', 'CKRecordValue', 'SKPaymentTransactionObserver', 'AVCaptureAudioDataOutputSampleBufferDelegate', 'UIInputViewAudioFeedback', 'GKChallengeListener', 'SKSceneDelegate', 'UIPickerViewDelegate', 'UIWebViewDelegate', 'UIApplicationDelegate', 'GKInviteEventListener', 'MPMediaPlayback', 'MyClassJavaScriptMethods', 'AVAsynchronousKeyValueLoading', 'QLPreviewItem', 'SCNBoundingVolume', 'NSPortDelegate', 'UIContentContainer', 'SCNNodeRendererDelegate', 'SKRequestDelegate', 'SKPhysicsContactDelegate', 'HMAccessoryDelegate', 'UIPageViewControllerDataSource', 'SCNSceneRendererDelegate', 'SCNPhysicsContactDelegate', 'MKMapViewDelegate', 'AVPlayerItemOutputPushDelegate', 'UICollectionViewDelegate', 'UIImagePickerControllerDelegate', 'MTLRenderCommandEncoder', 'PKPaymentAuthorizationViewControllerDelegate', 'UIToolbarDelegate', 'WKUIDelegate', 'SCNActionable', 'NSURLConnectionDataDelegate', 'MKOverlay', 'CBCentralManagerDelegate', 'JSExport', 'NSTextLayoutOrientationProvider', 'UIPickerViewDataSource', 'PKPushRegistryDelegate', 'UIViewControllerTransitionCoordinatorContext', 'NSLayoutManagerDelegate', 'MTLLibrary', 'NSFetchedResultsControllerDelegate', 'ABPeoplePickerNavigationControllerDelegate', 'MTLResource', 'NSDiscardableContent', 'UITextFieldDelegate', 'MTLBuffer', 'MTLSamplerState', 'GKGameCenterControllerDelegate', 'MPMediaPickerControllerDelegate', 'UISplitViewControllerDelegate', 'UIAppearance', 'UIPickerViewAccessibilityDelegate', 'UITraitEnvironment', 'UIScrollViewAccessibilityDelegate', 'ADBannerViewDelegate', 'MPPlayableContentDataSource', 'MTLComputePipelineState', 'NSURLSessionDelegate', 'MTLCommandBuffer', 'NSXMLParserDelegate', 'UIViewControllerRestoration', 'UISearchBarDelegate', 'UIBarPositioning', 'CBPeripheralDelegate', 'UISearchDisplayDelegate', 'CAAction', 'PKAddPassesViewControllerDelegate', 'MCNearbyServiceAdvertiserDelegate', 'MTLDepthStencilState', 'GKTurnBasedMatchmakerViewControllerDelegate', 'MPPlayableContentDelegate', 'AVCaptureVideoDataOutputSampleBufferDelegate', 'UIAppearanceContainer', 'UIStateRestoring', 'UITextDocumentProxy', 'MTLDrawable', 'NSURLSessionTaskDelegate', 'NSFilePresenter', 'AVAudioStereoMixing', 'UIViewControllerContextTransitioning', 'UITextInput', 'CBPeripheralManagerDelegate', 'UITextInputDelegate', 'NSFastEnumeration', 'NSURLAuthenticationChallengeSender', 'SCNProgramDelegate', 'AVVideoCompositing', 'SCNAnimatable', 'NSSecureCoding', 'MCAdvertiserAssistantDelegate', 'GKLocalPlayerListener', 'GLKNamedEffect', 'UIPopoverControllerDelegate', 'AVCaptureMetadataOutputObjectsDelegate', 'NSExtensionRequestHandling', 'UITextSelecting', 'UIPrinterPickerControllerDelegate', 'NCWidgetProviding', 'MTLCommandEncoder', 'NSURLProtocolClient', 'MFMessageComposeViewControllerDelegate', 'UIVideoEditorControllerDelegate', 'WKNavigationDelegate', 'GKSavedGameListener', 'UITableViewDataSource', 'MTLFunction', 'EKCalendarChooserDelegate', 'NSUserActivityDelegate', 'UICollisionBehaviorDelegate', 'NSStreamDelegate', 'MCNearbyServiceBrowserDelegate', 'HMHomeDelegate', 'UINavigationControllerDelegate', 'MCSessionDelegate', 'UIDocumentPickerDelegate', 'UIViewControllerInteractiveTransitioning', 'GKTurnBasedEventListener', 'SCNSceneRenderer', 'MTLTexture', 'GLKViewDelegate', 'EAAccessoryDelegate', 'WKScriptMessageHandler', 'PHPhotoLibraryChangeObserver', 'NSKeyedUnarchiverDelegate', 'AVPlayerItemMetadataOutputPushDelegate', 'NSMachPortDelegate', 'SCNShadable', 'UIPopoverBackgroundViewMethods', 'UIDocumentMenuDelegate', 'UIBarPositioningDelegate', 'ABPersonViewControllerDelegate', 'NSNetServiceBrowserDelegate', 'EKEventViewDelegate', 'UIScrollViewDelegate', 'NSURLConnectionDownloadDelegate', 'UIGestureRecognizerDelegate', 'UINavigationBarDelegate', 'AVAudioMixing', 'NSFetchedResultsSectionInfo', 'UIDocumentInteractionControllerDelegate', 'MTLParallelRenderCommandEncoder', 'QLPreviewControllerDelegate', 'UIAccessibilityReadingContent', 'ABUnknownPersonViewControllerDelegate', 'GLKViewControllerDelegate', 'UICollectionViewDelegateFlowLayout', 'UIPopoverPresentationControllerDelegate', 'UIDynamicAnimatorDelegate', 'NSTextAttachmentContainer', 'MKAnnotation', 'UIAccessibilityIdentification', 'UICoordinateSpace', 'ABNewPersonViewControllerDelegate', 'MTLDevice', 'CAMediaTiming', 'AVCaptureFileOutputRecordingDelegate', 'HMHomeManagerDelegate', 'UITextViewDelegate', 'UITabBarDelegate', 'GKLeaderboardViewControllerDelegate', 'UISearchControllerDelegate', 'EAWiFiUnconfiguredAccessoryBrowserDelegate', 'UITextInputTraits', 'MTLRenderPipelineState', 'GKVoiceChatClient', 'UIKeyInput', 'UICollectionViewDataSource', 'SCNTechniqueSupport', 'NSLocking', 'AVCaptureFileOutputDelegate', 'GKChallengeEventHandlerDelegate', 'UIObjectRestoration', 'CIFilterConstructor', 'AVPlayerItemOutputPullDelegate', 'EAGLDrawable', 'AVVideoCompositionValidationHandling', 'UIViewControllerAnimatedTransitioning', 'NSURLSessionDownloadDelegate', 'UIAccelerometerDelegate', 'UIPageViewControllerDelegate', 'MTLCommandQueue', 'UIDataSourceModelAssociation', 'AVAudioRecorderDelegate', 'GKSessionDelegate', 'NSKeyedArchiverDelegate', 'CAMetalDrawable', 'UIDynamicItem', 'CLLocationManagerDelegate', 'NSMetadataQueryDelegate', 'NSNetServiceDelegate', 'GKMatchmakerViewControllerDelegate', 'NSURLSessionDataDelegate'])
+COCOA_PRIMITIVES = set(['ROTAHeader', '__CFBundle', 'MortSubtable', 'AudioFilePacketTableInfo', 'CGPDFOperatorTable', 'KerxStateEntry', 'ExtendedTempoEvent', 'CTParagraphStyleSetting', 'OpaqueMIDIPort', '_GLKMatrix3', '_GLKMatrix2', '_GLKMatrix4', 'ExtendedControlEvent', 'CAFAudioDescription', 'OpaqueCMBlockBuffer', 'CGTextDrawingMode', 'EKErrorCode', 'gss_buffer_desc_struct', 'AudioUnitParameterInfo', '__SCPreferences', '__CTFrame', '__CTLine', 'AudioFile_SMPTE_Time', 'gss_krb5_lucid_context_v1', 'OpaqueJSValue', 'TrakTableEntry', 'AudioFramePacketTranslation', 'CGImageSource', 'OpaqueJSPropertyNameAccumulator', 'JustPCGlyphRepeatAddAction', '__CFBinaryHeap', 'OpaqueMIDIThruConnection', 'opaqueCMBufferQueue', 'OpaqueMusicSequence', 'MortRearrangementSubtable', 'MixerDistanceParams', 'MorxSubtable', 'MIDIObjectPropertyChangeNotification', 'SFNTLookupSegment', 'CGImageMetadataErrors', 'CGPath', 'OpaqueMIDIEndpoint', 'AudioComponentPlugInInterface', 'gss_ctx_id_t_desc_struct', 'sfntFontFeatureSetting', 'OpaqueJSContextGroup', '__SCNetworkConnection', 'AudioUnitParameterValueTranslation', 'CGImageMetadataType', 'CGPattern', 'AudioFileTypeAndFormatID', 'CGContext', 'AUNodeInteraction', 'SFNTLookupTable', 'JustPCDecompositionAction', 'KerxControlPointHeader', 'AudioStreamPacketDescription', 'KernSubtableHeader', '__SecCertificate', 'AUMIDIOutputCallbackStruct', 'MIDIMetaEvent', 'AudioQueueChannelAssignment', 'AnchorPoint', 'JustTable', '__CFNetService', 'CF_BRIDGED_TYPE', 'gss_krb5_lucid_key', 'CGPDFDictionary', 'KerxSubtableHeader', 'CAF_UUID_ChunkHeader', 'gss_krb5_cfx_keydata', 'OpaqueJSClass', 'CGGradient', 'OpaqueMIDISetup', 'JustPostcompTable', '__CTParagraphStyle', 'AudioUnitParameterHistoryInfo', 'OpaqueJSContext', 'CGShading', 'MIDIThruConnectionParams', 'BslnFormat0Part', 'SFNTLookupSingle', '__CFHost', '__SecRandom', '__CTFontDescriptor', '_NSRange', 'sfntDirectory', 'AudioQueueLevelMeterState', 'CAFPositionPeak', 'PropLookupSegment', '__CVOpenGLESTextureCache', 'sfntInstance', '_GLKQuaternion', 'AnkrTable', '__SCNetworkProtocol', 'CAFFileHeader', 'KerxOrderedListHeader', 'CGBlendMode', 'STXEntryOne', 'CAFRegion', 'SFNTLookupTrimmedArrayHeader', 'SCNMatrix4', 'KerxControlPointEntry', 'OpaqueMusicTrack', '_GLKVector4', 'gss_OID_set_desc_struct', 'OpaqueMusicPlayer', '_CFHTTPAuthentication', 'CGAffineTransform', 'CAFMarkerChunk', 'AUHostIdentifier', 'ROTAGlyphEntry', 'BslnTable', 'gss_krb5_lucid_context_version', '_GLKMatrixStack', 'CGImage', 'KernStateEntry', 'SFNTLookupSingleHeader', 'MortLigatureSubtable', 'CAFUMIDChunk', 'SMPTETime', 'CAFDataChunk', 'CGPDFStream', 'AudioFileRegionList', 'STEntryTwo', 'SFNTLookupBinarySearchHeader', 'OpbdTable', '__CTGlyphInfo', 'BslnFormat2Part', 'KerxIndexArrayHeader', 'TrakTable', 'KerxKerningPair', '__CFBitVector', 'KernVersion0SubtableHeader', 'OpaqueAudioComponentInstance', 'AudioChannelLayout', '__CFUUID', 'MIDISysexSendRequest', '__CFNumberFormatter', 'CGImageSourceStatus', 'AudioFileMarkerList', 'AUSamplerBankPresetData', 'CGDataProvider', 'AudioFormatInfo', '__SecIdentity', 'sfntCMapExtendedSubHeader', 'MIDIChannelMessage', 'KernOffsetTable', 'CGColorSpaceModel', 'MFMailComposeErrorCode', 'CGFunction', '__SecTrust', 'AVAudio3DAngularOrientation', 'CGFontPostScriptFormat', 'KernStateHeader', 'AudioUnitCocoaViewInfo', 'CGDataConsumer', 'OpaqueMIDIDevice', 'KernVersion0Header', 'AnchorPointTable', 'CGImageDestination', 'CAFInstrumentChunk', 'AudioUnitMeterClipping', 'MorxChain', '__CTFontCollection', 'STEntryOne', 'STXEntryTwo', 'ExtendedNoteOnEvent', 'CGColorRenderingIntent', 'KerxSimpleArrayHeader', 'MorxTable', '_GLKVector3', '_GLKVector2', 'MortTable', 'CGPDFBox', 'AudioUnitParameterValueFromString', '__CFSocket', 'ALCdevice_struct', 'MIDINoteMessage', 'sfntFeatureHeader', 'CGRect', '__SCNetworkInterface', '__CFTree', 'MusicEventUserData', 'TrakTableData', 'GCQuaternion', 'MortContextualSubtable', '__CTRun', 'AudioUnitFrequencyResponseBin', 'MortChain', 'MorxInsertionSubtable', 'CGImageMetadata', 'gss_auth_identity', 'AudioUnitMIDIControlMapping', 'CAFChunkHeader', 'CGImagePropertyOrientation', 'CGPDFScanner', 'OpaqueMusicEventIterator', 'sfntDescriptorHeader', 'AudioUnitNodeConnection', 'OpaqueMIDIDeviceList', 'ExtendedAudioFormatInfo', 'BslnFormat1Part', 'sfntFontDescriptor', 'KernSimpleArrayHeader', '__CFRunLoopObserver', 'CGPatternTiling', 'MIDINotification', 'MorxLigatureSubtable', 'MessageComposeResult', 'MIDIThruConnectionEndpoint', 'MusicDeviceStdNoteParams', 'opaqueCMSimpleQueue', 'ALCcontext_struct', 'OpaqueAudioQueue', 'PropLookupSingle', 'CGInterpolationQuality', 'CGColor', 'AudioOutputUnitStartAtTimeParams', 'gss_name_t_desc_struct', 'CGFunctionCallbacks', 'CAFPacketTableHeader', 'AudioChannelDescription', 'sfntFeatureName', 'MorxContextualSubtable', 'CVSMPTETime', 'AudioValueRange', 'CGTextEncoding', 'AudioStreamBasicDescription', 'AUNodeRenderCallback', 'AudioPanningInfo', 'KerxOrderedListEntry', '__CFAllocator', 'OpaqueJSPropertyNameArray', '__SCDynamicStore', 'OpaqueMIDIEntity', '__CTRubyAnnotation', 'SCNVector4', 'CFHostClientContext', 'CFNetServiceClientContext', 'AudioUnitPresetMAS_SettingData', 'opaqueCMBufferQueueTriggerToken', 'AudioUnitProperty', 'CAFRegionChunk', 'CGPDFString', '__GLsync', '__CFStringTokenizer', 'JustWidthDeltaEntry', 'sfntVariationAxis', '__CFNetDiagnostic', 'CAFOverviewSample', 'sfntCMapEncoding', 'CGVector', '__SCNetworkService', 'opaqueCMSampleBuffer', 'AUHostVersionIdentifier', 'AudioBalanceFade', 'sfntFontRunFeature', 'KerxCoordinateAction', 'sfntCMapSubHeader', 'CVPlanarPixelBufferInfo', 'AUNumVersion', 'AUSamplerInstrumentData', 'AUPreset', '__CTRunDelegate', 'OpaqueAudioQueueProcessingTap', 'KerxTableHeader', '_NSZone', 'OpaqueExtAudioFile', '__CFRunLoopSource', '__CVMetalTextureCache', 'KerxAnchorPointAction', 'OpaqueJSString', 'AudioQueueParameterEvent', '__CFHTTPMessage', 'OpaqueCMClock', 'ScheduledAudioFileRegion', 'STEntryZero', 'AVAudio3DPoint', 'gss_channel_bindings_struct', 'sfntVariationHeader', 'AUChannelInfo', 'UIOffset', 'GLKEffectPropertyPrv', 'KerxStateHeader', 'CGLineJoin', 'CGPDFDocument', '__CFBag', 'KernOrderedListHeader', '__SCNetworkSet', '__SecKey', 'MIDIObjectAddRemoveNotification', 'AudioUnitParameter', 'JustPCActionSubrecord', 'AudioComponentDescription', 'AudioUnitParameterValueName', 'AudioUnitParameterEvent', 'KerxControlPointAction', 'AudioTimeStamp', 'KernKerningPair', 'gss_buffer_set_desc_struct', 'MortFeatureEntry', 'FontVariation', 'CAFStringID', 'LcarCaretClassEntry', 'AudioUnitParameterStringFromValue', 'ACErrorCode', 'ALMXGlyphEntry', 'LtagTable', '__CTTypesetter', 'AuthorizationOpaqueRef', 'UIEdgeInsets', 'CGPathElement', 'CAFMarker', 'KernTableHeader', 'NoteParamsControlValue', 'SSLContext', 'gss_cred_id_t_desc_struct', 'AudioUnitParameterNameInfo', 'CGDataConsumerCallbacks', 'ALMXHeader', 'CGLineCap', 'MIDIControlTransform', 'CGPDFArray', '__SecPolicy', 'AudioConverterPrimeInfo', '__CTTextTab', '__CFNetServiceMonitor', 'AUInputSamplesInOutputCallbackStruct', '__CTFramesetter', 'CGPDFDataFormat', 'STHeader', 'CVPlanarPixelBufferInfo_YCbCrPlanar', 'MIDIValueMap', 'JustDirectionTable', '__SCBondStatus', 'SFNTLookupSegmentHeader', 'OpaqueCMMemoryPool', 'CGPathDrawingMode', 'CGFont', '__SCNetworkReachability', 'AudioClassDescription', 'CGPoint', 'AVAudio3DVectorOrientation', 'CAFStrings', '__CFNetServiceBrowser', 'opaqueMTAudioProcessingTap', 'sfntNameRecord', 'CGPDFPage', 'CGLayer', 'ComponentInstanceRecord', 'CAFInfoStrings', 'HostCallbackInfo', 'MusicDeviceNoteParams', 'OpaqueVTCompressionSession', 'KernIndexArrayHeader', 'CVPlanarPixelBufferInfo_YCbCrBiPlanar', 'MusicTrackLoopInfo', 'opaqueCMFormatDescription', 'STClassTable', 'sfntDirectoryEntry', 'OpaqueCMTimebase', 'CGDataProviderDirectCallbacks', 'MIDIPacketList', 'CAFOverviewChunk', 'MIDIPacket', 'ScheduledAudioSlice', 'CGDataProviderSequentialCallbacks', 'AudioBuffer', 'MorxRearrangementSubtable', 'CGPatternCallbacks', 'AUDistanceAttenuationData', 'MIDIIOErrorNotification', 'CGPDFContentStream', 'IUnknownVTbl', 'MIDITransform', 'MortInsertionSubtable', 'CABarBeatTime', 'AudioBufferList', '__CVBuffer', 'AURenderCallbackStruct', 'STXEntryZero', 'JustPCDuctilityAction', 'OpaqueAudioQueueTimeline', 'VTDecompressionOutputCallbackRecord', 'OpaqueMIDIClient', '__CFPlugInInstance', 'AudioQueueBuffer', '__CFFileDescriptor', 'AudioUnitConnection', '_GKTurnBasedExchangeStatus', 'LcarCaretTable', 'CVPlanarComponentInfo', 'JustWidthDeltaGroup', 'OpaqueAudioComponent', 'ParameterEvent', '__CVPixelBufferPool', '__CTFont', 'CGColorSpace', 'CGSize', 'AUDependentParameter', 'MIDIDriverInterface', 'gss_krb5_rfc1964_keydata', '__CFDateFormatter', 'LtagStringRange', 'OpaqueVTDecompressionSession', 'gss_iov_buffer_desc_struct', 'AUPresetEvent', 'PropTable', 'KernOrderedListEntry', 'CF_BRIDGED_MUTABLE_TYPE', 'gss_OID_desc_struct', 'AudioUnitPresetMAS_Settings', 'AudioFileMarker', 'JustPCConditionalAddAction', 'BslnFormat3Part', '__CFNotificationCenter', 'MortSwashSubtable', 'AUParameterMIDIMapping', 'SCNVector3', 'OpaqueAudioConverter', 'MIDIRawData', 'sfntNameHeader', '__CFRunLoop', 'MFMailComposeResult', 'CATransform3D', 'OpbdSideValues', 'CAF_SMPTE_Time', '__SecAccessControl', 'JustPCAction', 'OpaqueVTFrameSilo', 'OpaqueVTMultiPassStorage', 'CGPathElementType', 'AudioFormatListItem', 'AudioUnitExternalBuffer', 'AudioFileRegion', 'AudioValueTranslation', 'CGImageMetadataTag', 'CAFPeakChunk', 'AudioBytePacketTranslation', 'sfntCMapHeader', '__CFURLEnumerator', 'STXHeader', 'CGPDFObjectType', 'SFNTLookupArrayHeader'])
+
+if __name__ == '__main__':  # pragma: no cover
+    import os
+    import re
+
+    FRAMEWORKS_PATH = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/System/Library/Frameworks/'
+    frameworks = os.listdir(FRAMEWORKS_PATH)
+
+    all_interfaces = set()
+    all_protocols  = set()
+    all_primitives = set()
+    for framework in frameworks:
+        frameworkHeadersDir = FRAMEWORKS_PATH + framework + '/Headers/'
+        if not os.path.exists(frameworkHeadersDir):
+            continue
+
+        headerFilenames = os.listdir(frameworkHeadersDir)
+
+        for f in headerFilenames:
+            if not f.endswith('.h'):
+                continue
+
+            headerFilePath = frameworkHeadersDir + f
+            content = open(headerFilePath).read()
+            res = re.findall('(?<=@interface )\w+', content)
+            for r in res:
+                all_interfaces.add(r)
+
+            res = re.findall('(?<=@protocol )\w+', content)
+            for r in res:
+                all_protocols.add(r)
+
+            res = re.findall('(?<=typedef enum )\w+', content)
+            for r in res:
+                all_primitives.add(r)
+
+            res = re.findall('(?<=typedef struct )\w+', content)
+            for r in res:
+                all_primitives.add(r)
+
+            res = re.findall('(?<=typedef const struct )\w+', content)
+            for r in res:
+                all_primitives.add(r)
+
+
+    print("ALL interfaces: \n")
+    print(all_interfaces)
+
+    print("\nALL protocols: \n")
+    print(all_protocols)
+
+    print("\nALL primitives: \n")
+    print(all_primitives)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/lexers/_csound_builtins.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,1346 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers._csound_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+# Opcodes in Csound 6.05 from
+#   csound --list-opcodes
+# except
+#   cggoto  <http://www.csounds.com/manual/html/cggoto.html>
+#   cigoto  <http://www.csounds.com/manual/html/cigoto.html>
+#   cingoto (undocumented)
+#   ckgoto  <http://www.csounds.com/manual/html/ckgoto.html>
+#   cngoto  <http://www.csounds.com/manual/html/cngoto.html>
+#   endin   <http://www.csounds.com/manual/html/endin.html
+#   endop   <http://www.csounds.com/manual/html/endop.html
+#   goto    <http://www.csounds.com/manual/html/goto.html>
+#   igoto   <http://www.csounds.com/manual/html/igoto.html>
+#   instr   <http://www.csounds.com/manual/html/instr.html>
+#   kgoto   <http://www.csounds.com/manual/html/kgoto.html>
+#   loop_ge <http://www.csounds.com/manual/html/loop_ge.html>
+#   loop_gt <http://www.csounds.com/manual/html/loop_gt.html>
+#   loop_le <http://www.csounds.com/manual/html/loop_le.html>
+#   loop_lt <http://www.csounds.com/manual/html/loop_lt.html>
+#   opcode  <http://www.csounds.com/manual/html/opcode.html>
+#   return  <http://www.csounds.com/manual/html/return.html>
+#   rigoto  <http://www.csounds.com/manual/html/rigoto.html>
+#   tigoto  <http://www.csounds.com/manual/html/tigoto.html>
+#   timout  <http://www.csounds.com/manual/html/timout.html>
+# which are treated as keywords; the scoreline opcodes
+#   scoreline <http://www.csounds.com/manual/html/scoreline.html>
+#   scoreline_i <http://www.csounds.com/manual/html/scoreline_i.html>
+# which allow Csound Score highlighting; the pyrun opcodes
+# <http://www.csounds.com/manual/html/pyrun.html> 
+#   pylrun
+#   pylruni
+#   pylrunt
+#   pyrun
+#   pyruni
+#   pyrunt
+# which allow Python highlighting; and the Lua opcodes
+#   lua_exec  <http://www.csounds.com/manual/html/lua_exec.html>
+#   lua_opdef <http://www.csounds.com/manual/html/lua_opdef.html>
+# which allow Lua highlighting.
+OPCODES = set((
+    'ATSadd',
+    'ATSaddnz',
+    'ATSbufread',
+    'ATScross',
+    'ATSinfo',
+    'ATSinterpread',
+    'ATSpartialtap',
+    'ATSread',
+    'ATSreadnz',
+    'ATSsinnoi',
+    'FLbox',
+    'FLbutBank',
+    'FLbutton',
+    'FLcloseButton',
+    'FLcolor',
+    'FLcolor2',
+    'FLcount',
+    'FLexecButton',
+    'FLgetsnap',
+    'FLgroup',
+    'FLgroupEnd',
+    'FLgroup_end',
+    'FLhide',
+    'FLhvsBox',
+    'FLhvsBoxSetValue',
+    'FLjoy',
+    'FLkeyIn',
+    'FLknob',
+    'FLlabel',
+    'FLloadsnap',
+    'FLmouse',
+    'FLpack',
+    'FLpackEnd',
+    'FLpack_end',
+    'FLpanel',
+    'FLpanelEnd',
+    'FLpanel_end',
+    'FLprintk',
+    'FLprintk2',
+    'FLroller',
+    'FLrun',
+    'FLsavesnap',
+    'FLscroll',
+    'FLscrollEnd',
+    'FLscroll_end',
+    'FLsetAlign',
+    'FLsetBox',
+    'FLsetColor',
+    'FLsetColor2',
+    'FLsetFont',
+    'FLsetPosition',
+    'FLsetSize',
+    'FLsetSnapGroup',
+    'FLsetText',
+    'FLsetTextColor',
+    'FLsetTextSize',
+    'FLsetTextType',
+    'FLsetVal',
+    'FLsetVal_i',
+    'FLsetVali',
+    'FLsetsnap',
+    'FLshow',
+    'FLslidBnk',
+    'FLslidBnk2',
+    'FLslidBnk2Set',
+    'FLslidBnk2Setk',
+    'FLslidBnkGetHandle',
+    'FLslidBnkSet',
+    'FLslidBnkSetk',
+    'FLslider',
+    'FLtabs',
+    'FLtabsEnd',
+    'FLtabs_end',
+    'FLtext',
+    'FLupdate',
+    'FLvalue',
+    'FLvkeybd',
+    'FLvslidBnk',
+    'FLvslidBnk2',
+    'FLxyin',
+    'MixerClear',
+    'MixerGetLevel',
+    'MixerReceive',
+    'MixerSend',
+    'MixerSetLevel',
+    'MixerSetLevel_i',
+    'OSCinit',
+    'OSClisten',
+    'OSCsend',
+    'a',
+    'abs',
+    'active',
+    'adsr',
+    'adsyn',
+    'adsynt',
+    'adsynt2',
+    'aftouch',
+    'alpass',
+    'alwayson',
+    'ampdb',
+    'ampdbfs',
+    'ampmidi',
+    'ampmidid',
+    'areson',
+    'aresonk',
+    'array',
+    'atone',
+    'atonek',
+    'atonex',
+    'babo',
+    'balance',
+    'bamboo',
+    'barmodel',
+    'bbcutm',
+    'bbcuts',
+    'betarand',
+    'bexprnd',
+    'bformdec',
+    'bformdec1',
+    'bformenc',
+    'bformenc1',
+    'binit',
+    'biquad',
+    'biquada',
+    'birnd',
+    'bqrez',
+    'buchla',
+    'butbp',
+    'butbr',
+    'buthp',
+    'butlp',
+    'butterbp',
+    'butterbr',
+    'butterhp',
+    'butterlp',
+    'button',
+    'buzz',
+    'c2r',
+    'cabasa',
+    'cauchy',
+    'cauchyi',
+    'ceil',
+    'cell',
+    'cent',
+    'centroid',
+    'ceps',
+   #'cggoto',
+    'chanctrl',
+    'changed',
+    'chani',
+    'chano',
+    'chebyshevpoly',
+    'checkbox',
+    'chn_S',
+    'chn_a',
+    'chn_k',
+    'chnclear',
+    'chnexport',
+    'chnget',
+    'chnmix',
+    'chnparams',
+    'chnset',
+    'chuap',
+   #'cigoto',
+   #'cingoto',
+   #'ckgoto',
+    'clear',
+    'clfilt',
+    'clip',
+    'clockoff',
+    'clockon',
+    'cmplxprod',
+   #'cngoto',
+    'comb',
+    'combinv',
+    'compilecsd',
+    'compileorc',
+    'compilestr',
+    'compress',
+    'connect',
+    'control',
+    'convle',
+    'convolve',
+    'copy2ftab',
+    'copy2ttab',
+    'copya2ftab',
+    'copyf2array',
+    'cos',
+    'cosh',
+    'cosinv',
+    'cosseg',
+    'cossegb',
+    'cossegr',
+    'cps2pch',
+    'cpsmidi',
+    'cpsmidib',
+    'cpsmidinn',
+    'cpsoct',
+    'cpspch',
+    'cpstmid',
+    'cpstun',
+    'cpstuni',
+    'cpsxpch',
+    'cpuprc',
+    'cross2',
+    'crossfm',
+    'crossfmi',
+    'crossfmpm',
+    'crossfmpmi',
+    'crosspm',
+    'crosspmi',
+    'crunch',
+    'ctlchn',
+    'ctrl14',
+    'ctrl21',
+    'ctrl7',
+    'ctrlinit',
+    'cuserrnd',
+    'dam',
+    'date',
+    'dates',
+    'db',
+    'dbamp',
+    'dbfsamp',
+    'dcblock',
+    'dcblock2',
+    'dconv',
+    'delay',
+    'delay1',
+    'delayk',
+    'delayr',
+    'delayw',
+    'deltap',
+    'deltap3',
+    'deltapi',
+    'deltapn',
+    'deltapx',
+    'deltapxw',
+    'denorm',
+    'diff',
+    'diskgrain',
+    'diskin',
+    'diskin2',
+    'dispfft',
+    'display',
+    'distort',
+    'distort1',
+    'divz',
+    'doppler',
+    'downsamp',
+    'dripwater',
+    'dumpk',
+    'dumpk2',
+    'dumpk3',
+    'dumpk4',
+    'duserrnd',
+    'dust',
+    'dust2',
+   #'endin',
+   #'endop',
+    'envlpx',
+    'envlpxr',
+    'ephasor',
+    'eqfil',
+    'evalstr',
+    'event',
+    'event_i',
+    'exciter',
+    'exitnow',
+    'exp',
+    'expcurve',
+    'expon',
+    'exprand',
+    'exprandi',
+    'expseg',
+    'expsega',
+    'expsegb',
+    'expsegba',
+    'expsegr',
+    'fareylen',
+    'fareyleni',
+    'faustaudio',
+    'faustcompile',
+    'faustctl',
+    'faustgen',
+    'fft',
+    'fftinv',
+    'ficlose',
+    'filebit',
+    'filelen',
+    'filenchnls',
+    'filepeak',
+    'filesr',
+    'filevalid',
+    'fillarray',
+    'filter2',
+    'fin',
+    'fini',
+    'fink',
+    'fiopen',
+    'flanger',
+    'flashtxt',
+    'flooper',
+    'flooper2',
+    'floor',
+    'fluidAllOut',
+    'fluidCCi',
+    'fluidCCk',
+    'fluidControl',
+    'fluidEngine',
+    'fluidLoad',
+    'fluidNote',
+    'fluidOut',
+    'fluidProgramSelect',
+    'fluidSetInterpMethod',
+    'fmb3',
+    'fmbell',
+    'fmmetal',
+    'fmpercfl',
+    'fmrhode',
+    'fmvoice',
+    'fmwurlie',
+    'fof',
+    'fof2',
+    'fofilter',
+    'fog',
+    'fold',
+    'follow',
+    'follow2',
+    'foscil',
+    'foscili',
+    'fout',
+    'fouti',
+    'foutir',
+    'foutk',
+    'fprintks',
+    'fprints',
+    'frac',
+    'fractalnoise',
+    'freeverb',
+    'ftchnls',
+    'ftconv',
+    'ftcps',
+    'ftfree',
+    'ftgen',
+    'ftgenonce',
+    'ftgentmp',
+    'ftlen',
+    'ftload',
+    'ftloadk',
+    'ftlptim',
+    'ftmorf',
+    'ftresize',
+    'ftresizei',
+    'ftsave',
+    'ftsavek',
+    'ftsr',
+    'gain',
+    'gainslider',
+    'gauss',
+    'gaussi',
+    'gausstrig',
+    'gbuzz',
+    'genarray',
+    'genarray_i',
+    'gendy',
+    'gendyc',
+    'gendyx',
+    'getcfg',
+    'getcol',
+    'getrow',
+    'gogobel',
+   #'goto',
+    'grain',
+    'grain2',
+    'grain3',
+    'granule',
+    'guiro',
+    'harmon',
+    'harmon2',
+    'harmon3',
+    'harmon4',
+    'hdf5read',
+    'hdf5write',
+    'hilbert',
+    'hrtfearly',
+    'hrtfer',
+    'hrtfmove',
+    'hrtfmove2',
+    'hrtfreverb',
+    'hrtfstat',
+    'hsboscil',
+    'hvs1',
+    'hvs2',
+    'hvs3',
+    'i',
+    'iceps',
+   #'igoto',
+    'ihold',
+    'imagecreate',
+    'imagefree',
+    'imagegetpixel',
+    'imageload',
+    'imagesave',
+    'imagesetpixel',
+    'imagesize',
+    'in',
+    'in32',
+    'inch',
+    'inh',
+    'init',
+    'initc14',
+    'initc21',
+    'initc7',
+    'inleta',
+    'inletf',
+    'inletk',
+    'inletkid',
+    'inletv',
+    'ino',
+    'inq',
+    'inrg',
+    'ins',
+    'insglobal',
+    'insremot',
+   #'instr',
+    'int',
+    'integ',
+    'interp',
+    'invalue',
+    'inx',
+    'inz',
+    'jitter',
+    'jitter2',
+    'jspline',
+    'k',
+   #'kgoto',
+    'ktableseg',
+    'lenarray',
+    'lentab',
+    'lfo',
+    'limit',
+    'line',
+    'linen',
+    'linenr',
+    'lineto',
+    'linrand',
+    'linseg',
+    'linsegb',
+    'linsegr',
+    'locsend',
+    'locsig',
+    'log',
+    'log10',
+    'log2',
+    'logbtwo',
+    'logcurve',
+   #'loop_ge',
+   #'loop_gt',
+   #'loop_le',
+   #'loop_lt',
+    'loopseg',
+    'loopsegp',
+    'looptseg',
+    'loopxseg',
+    'lorenz',
+    'loscil',
+    'loscil3',
+    'loscilx',
+    'lowpass2',
+    'lowres',
+    'lowresx',
+    'lpf18',
+    'lpform',
+    'lpfreson',
+    'lphasor',
+    'lpinterp',
+    'lposcil',
+    'lposcil3',
+    'lposcila',
+    'lposcilsa',
+    'lposcilsa2',
+    'lpread',
+    'lpreson',
+    'lpshold',
+    'lpsholdp',
+    'lpslot',
+   #'lua_exec',
+    'lua_ikopcall',
+   #'lua_opdef',
+    'mac',
+    'maca',
+    'madsr',
+    'mags',
+    'mandel',
+    'mandol',
+    'maparray',
+    'maparray_i',
+    'marimba',
+    'massign',
+    'max',
+    'max_k',
+    'maxabs',
+    'maxabsaccum',
+    'maxaccum',
+    'maxalloc',
+    'maxarray',
+    'maxtab',
+    'mclock',
+    'mdelay',
+    'median',
+    'mediank',
+    'metro',
+    'midglobal',
+    'midic14',
+    'midic21',
+    'midic7',
+    'midichannelaftertouch',
+    'midichn',
+    'midicontrolchange',
+    'midictrl',
+    'mididefault',
+    'midifilestatus',
+    'midiin',
+    'midinoteoff',
+    'midinoteoncps',
+    'midinoteonkey',
+    'midinoteonoct',
+    'midinoteonpch',
+    'midion',
+    'midion2',
+    'midiout',
+    'midipgm',
+    'midipitchbend',
+    'midipolyaftertouch',
+    'midiprogramchange',
+    'miditempo',
+    'midremot',
+    'min',
+    'minabs',
+    'minabsaccum',
+    'minaccum',
+    'minarray',
+    'mincer',
+    'mintab',
+    'mirror',
+    'mode',
+    'modmatrix',
+    'monitor',
+    'moog',
+    'moogladder',
+    'moogvcf',
+    'moogvcf2',
+    'moscil',
+    'mp3bitrate',
+    'mp3in',
+    'mp3len',
+    'mp3nchnls',
+    'mp3sr',
+    'mpulse',
+    'mrtmsg',
+    'multitap',
+    'mute',
+    'mxadsr',
+    'nestedap',
+    'nlalp',
+    'nlfilt',
+    'nlfilt2',
+    'noise',
+    'noteoff',
+    'noteon',
+    'noteondur',
+    'noteondur2',
+    'notnum',
+    'nreverb',
+    'nrpn',
+    'nsamp',
+    'nstance',
+    'nstrnum',
+    'ntrpol',
+    'octave',
+    'octcps',
+    'octmidi',
+    'octmidib',
+    'octmidinn',
+    'octpch',
+   #'opcode',
+    'oscbnk',
+    'oscil',
+    'oscil1',
+    'oscil1i',
+    'oscil3',
+    'oscili',
+    'oscilikt',
+    'osciliktp',
+    'oscilikts',
+    'osciln',
+    'oscils',
+    'oscilx',
+    'out',
+    'out32',
+    'outc',
+    'outch',
+    'outh',
+    'outiat',
+    'outic',
+    'outic14',
+    'outipat',
+    'outipb',
+    'outipc',
+    'outkat',
+    'outkc',
+    'outkc14',
+    'outkpat',
+    'outkpb',
+    'outkpc',
+    'outleta',
+    'outletf',
+    'outletk',
+    'outletkid',
+    'outletv',
+    'outo',
+    'outq',
+    'outq1',
+    'outq2',
+    'outq3',
+    'outq4',
+    'outrg',
+    'outs',
+    'outs1',
+    'outs2',
+    'outvalue',
+    'outx',
+    'outz',
+    'p',
+    'pan',
+    'pan2',
+    'pareq',
+    'partials',
+    'partikkel',
+    'partikkelget',
+    'partikkelset',
+    'partikkelsync',
+    'passign',
+    'pcauchy',
+    'pchbend',
+    'pchmidi',
+    'pchmidib',
+    'pchmidinn',
+    'pchoct',
+    'pconvolve',
+    'pcount',
+    'pdclip',
+    'pdhalf',
+    'pdhalfy',
+    'peak',
+    'pgmassign',
+    'pgmchn',
+    'phaser1',
+    'phaser2',
+    'phasor',
+    'phasorbnk',
+    'phs',
+    'pindex',
+    'pinker',
+    'pinkish',
+    'pitch',
+    'pitchac',
+    'pitchamdf',
+    'planet',
+    'platerev',
+    'plltrack',
+    'pluck',
+    'poisson',
+    'pol2rect',
+    'polyaft',
+    'polynomial',
+    'pop',
+    'pop_f',
+    'port',
+    'portk',
+    'poscil',
+    'poscil3',
+    'pow',
+    'powershape',
+    'powoftwo',
+    'prealloc',
+    'prepiano',
+    'print',
+    'print_type',
+    'printf',
+    'printf_i',
+    'printk',
+    'printk2',
+    'printks',
+    'printks2',
+    'prints',
+    'product',
+    'pset',
+    'ptable',
+    'ptable3',
+    'ptablei',
+    'ptableiw',
+    'ptablew',
+    'ptrack',
+    'push',
+    'push_f',
+    'puts',
+    'pvadd',
+    'pvbufread',
+    'pvcross',
+    'pvinterp',
+    'pvoc',
+    'pvread',
+    'pvs2array',
+    'pvs2tab',
+    'pvsadsyn',
+    'pvsanal',
+    'pvsarp',
+    'pvsbandp',
+    'pvsbandr',
+    'pvsbin',
+    'pvsblur',
+    'pvsbuffer',
+    'pvsbufread',
+    'pvsbufread2',
+    'pvscale',
+    'pvscent',
+    'pvsceps',
+    'pvscross',
+    'pvsdemix',
+    'pvsdiskin',
+    'pvsdisp',
+    'pvsenvftw',
+    'pvsfilter',
+    'pvsfread',
+    'pvsfreeze',
+    'pvsfromarray',
+    'pvsftr',
+    'pvsftw',
+    'pvsfwrite',
+    'pvsgain',
+    'pvsgendy',
+    'pvshift',
+    'pvsifd',
+    'pvsin',
+    'pvsinfo',
+    'pvsinit',
+    'pvslock',
+    'pvsmaska',
+    'pvsmix',
+    'pvsmooth',
+    'pvsmorph',
+    'pvsosc',
+    'pvsout',
+    'pvspitch',
+    'pvstanal',
+    'pvstencil',
+    'pvsvoc',
+    'pvswarp',
+    'pvsynth',
+    'pwd',
+    'pyassign',
+    'pyassigni',
+    'pyassignt',
+    'pycall',
+    'pycall1',
+    'pycall1i',
+    'pycall1t',
+    'pycall2',
+    'pycall2i',
+    'pycall2t',
+    'pycall3',
+    'pycall3i',
+    'pycall3t',
+    'pycall4',
+    'pycall4i',
+    'pycall4t',
+    'pycall5',
+    'pycall5i',
+    'pycall5t',
+    'pycall6',
+    'pycall6i',
+    'pycall6t',
+    'pycall7',
+    'pycall7i',
+    'pycall7t',
+    'pycall8',
+    'pycall8i',
+    'pycall8t',
+    'pycalli',
+    'pycalln',
+    'pycallni',
+    'pycallt',
+    'pyeval',
+    'pyevali',
+    'pyevalt',
+    'pyexec',
+    'pyexeci',
+    'pyexect',
+    'pyinit',
+    'pylassign',
+    'pylassigni',
+    'pylassignt',
+    'pylcall',
+    'pylcall1',
+    'pylcall1i',
+    'pylcall1t',
+    'pylcall2',
+    'pylcall2i',
+    'pylcall2t',
+    'pylcall3',
+    'pylcall3i',
+    'pylcall3t',
+    'pylcall4',
+    'pylcall4i',
+    'pylcall4t',
+    'pylcall5',
+    'pylcall5i',
+    'pylcall5t',
+    'pylcall6',
+    'pylcall6i',
+    'pylcall6t',
+    'pylcall7',
+    'pylcall7i',
+    'pylcall7t',
+    'pylcall8',
+    'pylcall8i',
+    'pylcall8t',
+    'pylcalli',
+    'pylcalln',
+    'pylcallni',
+    'pylcallt',
+    'pyleval',
+    'pylevali',
+    'pylevalt',
+    'pylexec',
+    'pylexeci',
+    'pylexect',
+   #'pylrun',
+   #'pylruni',
+   #'pylrunt',
+   #'pyrun',
+   #'pyruni',
+   #'pyrunt',
+    'qinf',
+    'qnan',
+    'r2c',
+    'rand',
+    'randh',
+    'randi',
+    'random',
+    'randomh',
+    'randomi',
+    'rbjeq',
+    'readclock',
+    'readf',
+    'readfi',
+    'readk',
+    'readk2',
+    'readk3',
+    'readk4',
+    'readks',
+    'readscore',
+    'readscratch',
+    'rect2pol',
+    'reinit',
+    'release',
+    'remoteport',
+    'remove',
+    'repluck',
+    'reson',
+    'resonk',
+    'resonr',
+    'resonx',
+    'resonxk',
+    'resony',
+    'resonz',
+    'resyn',
+   #'return',
+    'reverb',
+    'reverb2',
+    'reverbsc',
+    'rewindscore',
+    'rezzy',
+    'rfft',
+    'rifft',
+   #'rigoto',
+    'rireturn',
+    'rms',
+    'rnd',
+    'rnd31',
+    'round',
+    'rspline',
+    'rtclock',
+    's16b14',
+    's32b14',
+    'samphold',
+    'sandpaper',
+    'scale',
+    'scalearray',
+    'scalet',
+    'scanhammer',
+    'scans',
+    'scantable',
+    'scanu',
+    'schedkwhen',
+    'schedkwhennamed',
+    'schedule',
+    'schedwhen',
+   #'scoreline',
+   #'scoreline_i',
+    'seed',
+    'sekere',
+    'semitone',
+    'sense',
+    'sensekey',
+    'seqtime',
+    'seqtime2',
+    'serialBegin',
+    'serialEnd',
+    'serialFlush',
+    'serialPrint',
+    'serialRead',
+    'serialWrite',
+    'serialWrite_i',
+    'setcol',
+    'setctrl',
+    'setksmps',
+    'setrow',
+    'setscorepos',
+    'sfilist',
+    'sfinstr',
+    'sfinstr3',
+    'sfinstr3m',
+    'sfinstrm',
+    'sfload',
+    'sflooper',
+    'sfpassign',
+    'sfplay',
+    'sfplay3',
+    'sfplay3m',
+    'sfplaym',
+    'sfplist',
+    'sfpreset',
+    'shaker',
+    'shiftin',
+    'shiftout',
+    'signalflowgraph',
+    'signum',
+    'sin',
+    'sinh',
+    'sininv',
+    'sinsyn',
+    'sleighbells',
+    'slicearray',
+    'slider16',
+    'slider16f',
+    'slider16table',
+    'slider16tablef',
+    'slider32',
+    'slider32f',
+    'slider32table',
+    'slider32tablef',
+    'slider64',
+    'slider64f',
+    'slider64table',
+    'slider64tablef',
+    'slider8',
+    'slider8f',
+    'slider8table',
+    'slider8tablef',
+    'sliderKawai',
+    'sndload',
+    'sndloop',
+    'sndwarp',
+    'sndwarpst',
+    'sockrecv',
+    'sockrecvs',
+    'socksend',
+    'socksends',
+    'soundin',
+    'soundout',
+    'soundouts',
+    'space',
+    'spat3d',
+    'spat3di',
+    'spat3dt',
+    'spdist',
+    'specaddm',
+    'specdiff',
+    'specdisp',
+    'specfilt',
+    'spechist',
+    'specptrk',
+    'specscal',
+    'specsum',
+    'spectrum',
+    'splitrig',
+    'sprintf',
+    'sprintfk',
+    'spsend',
+    'sqrt',
+    'stack',
+    'statevar',
+    'stix',
+    'strcat',
+    'strcatk',
+    'strchar',
+    'strchark',
+    'strcmp',
+    'strcmpk',
+    'strcpy',
+    'strcpyk',
+    'strecv',
+    'streson',
+    'strfromurl',
+    'strget',
+    'strindex',
+    'strindexk',
+    'strlen',
+    'strlenk',
+    'strlower',
+    'strlowerk',
+    'strrindex',
+    'strrindexk',
+    'strset',
+    'strsub',
+    'strsubk',
+    'strtod',
+    'strtodk',
+    'strtol',
+    'strtolk',
+    'strupper',
+    'strupperk',
+    'stsend',
+    'subinstr',
+    'subinstrinit',
+    'sum',
+    'sumarray',
+    'sumtab',
+    'svfilter',
+    'syncgrain',
+    'syncloop',
+    'syncphasor',
+    'system',
+    'system_i',
+    'tab',
+    'tab2pvs',
+    'tab_i',
+    'tabgen',
+    'table',
+    'table3',
+    'table3kt',
+    'tablecopy',
+    'tablefilter',
+    'tablefilteri',
+    'tablegpw',
+    'tablei',
+    'tableicopy',
+    'tableigpw',
+    'tableikt',
+    'tableimix',
+    'tableiw',
+    'tablekt',
+    'tablemix',
+    'tableng',
+    'tablera',
+    'tableseg',
+    'tableshuffle',
+    'tableshufflei',
+    'tablew',
+    'tablewa',
+    'tablewkt',
+    'tablexkt',
+    'tablexseg',
+    'tabmap',
+    'tabmap_i',
+    'tabmorph',
+    'tabmorpha',
+    'tabmorphak',
+    'tabmorphi',
+    'tabplay',
+    'tabrec',
+    'tabslice',
+    'tabsum',
+    'tabw',
+    'tabw_i',
+    'tambourine',
+    'tan',
+    'tanh',
+    'taninv',
+    'taninv2',
+    'tb0',
+    'tb0_init',
+    'tb1',
+    'tb10',
+    'tb10_init',
+    'tb11',
+    'tb11_init',
+    'tb12',
+    'tb12_init',
+    'tb13',
+    'tb13_init',
+    'tb14',
+    'tb14_init',
+    'tb15',
+    'tb15_init',
+    'tb1_init',
+    'tb2',
+    'tb2_init',
+    'tb3',
+    'tb3_init',
+    'tb4',
+    'tb4_init',
+    'tb5',
+    'tb5_init',
+    'tb6',
+    'tb6_init',
+    'tb7',
+    'tb7_init',
+    'tb8',
+    'tb8_init',
+    'tb9',
+    'tb9_init',
+    'tbvcf',
+    'tempest',
+    'tempo',
+    'temposcal',
+    'tempoval',
+   #'tigoto',
+    'timedseq',
+    'timeinstk',
+    'timeinsts',
+    'timek',
+    'times',
+   #'timout',
+    'tival',
+    'tlineto',
+    'tone',
+    'tonek',
+    'tonex',
+    'tradsyn',
+    'trandom',
+    'transeg',
+    'transegb',
+    'transegr',
+    'trcross',
+    'trfilter',
+    'trhighest',
+    'trigger',
+    'trigseq',
+    'trirand',
+    'trlowest',
+    'trmix',
+    'trscale',
+    'trshift',
+    'trsplit',
+    'turnoff',
+    'turnoff2',
+    'turnon',
+    'unirand',
+    'unwrap',
+    'upsamp',
+    'urd',
+    'vactrol',
+    'vadd',
+    'vadd_i',
+    'vaddv',
+    'vaddv_i',
+    'vaget',
+    'valpass',
+    'vaset',
+    'vbap',
+    'vbap16',
+    'vbap4',
+    'vbap4move',
+    'vbap8',
+    'vbap8move',
+    'vbapg',
+    'vbapgmove',
+    'vbaplsinit',
+    'vbapmove',
+    'vbapz',
+    'vbapzmove',
+    'vcella',
+    'vco',
+    'vco2',
+    'vco2ft',
+    'vco2ift',
+    'vco2init',
+    'vcomb',
+    'vcopy',
+    'vcopy_i',
+    'vdel_k',
+    'vdelay',
+    'vdelay3',
+    'vdelayk',
+    'vdelayx',
+    'vdelayxq',
+    'vdelayxs',
+    'vdelayxw',
+    'vdelayxwq',
+    'vdelayxws',
+    'vdivv',
+    'vdivv_i',
+    'vecdelay',
+    'veloc',
+    'vexp',
+    'vexp_i',
+    'vexpseg',
+    'vexpv',
+    'vexpv_i',
+    'vibes',
+    'vibr',
+    'vibrato',
+    'vincr',
+    'vlimit',
+    'vlinseg',
+    'vlowres',
+    'vmap',
+    'vmirror',
+    'vmult',
+    'vmult_i',
+    'vmultv',
+    'vmultv_i',
+    'voice',
+    'vosim',
+    'vphaseseg',
+    'vport',
+    'vpow',
+    'vpow_i',
+    'vpowv',
+    'vpowv_i',
+    'vpvoc',
+    'vrandh',
+    'vrandi',
+    'vsubv',
+    'vsubv_i',
+    'vtaba',
+    'vtabi',
+    'vtabk',
+    'vtable1k',
+    'vtablea',
+    'vtablei',
+    'vtablek',
+    'vtablewa',
+    'vtablewi',
+    'vtablewk',
+    'vtabwa',
+    'vtabwi',
+    'vtabwk',
+    'vwrap',
+    'waveset',
+    'weibull',
+    'wgbow',
+    'wgbowedbar',
+    'wgbrass',
+    'wgclar',
+    'wgflute',
+    'wgpluck',
+    'wgpluck2',
+    'wguide1',
+    'wguide2',
+    'wiiconnect',
+    'wiidata',
+    'wiirange',
+    'wiisend',
+    'window',
+    'wrap',
+    'writescratch',
+    'wterrain',
+    'xadsr',
+    'xin',
+    'xout',
+    'xscanmap',
+    'xscans',
+    'xscansmap',
+    'xscanu',
+    'xtratim',
+    'xyin',
+    'zacl',
+    'zakinit',
+    'zamod',
+    'zar',
+    'zarg',
+    'zaw',
+    'zawm',
+    'zfilter2',
+    'zir',
+    'ziw',
+    'ziwm',
+    'zkcl',
+    'zkmod',
+    'zkr',
+    'zkw',
+    'zkwm'
+))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MoinMoin/support/pygments/lexers/_lasso_builtins.py	Mon Sep 05 23:55:33 2016 +0200
@@ -0,0 +1,5320 @@
+# -*- coding: utf-8 -*-
+"""
+    pygments.lexers._lasso_builtins
+    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+    Built-in Lasso types, traits, methods, and members.
+
+    :copyright: Copyright 2006-2015 by the Pygments team, see AUTHORS.
+    :license: BSD, see LICENSE for details.
+"""
+
+BUILTINS = {
+    'Types': (
+        'array',
+        'atbegin',
+        'boolean',
+        'bson_iter',
+        'bson',
+        'bytes_document_body',
+        'bytes',
+        'cache_server_element',
+        'cache_server',
+        'capture',
+        'client_address',
+        'client_ip',
+        'component_container',
+        'component_render_state',
+        'component',
+        'curl',
+        'curltoken',
+        'currency',
+        'custom',
+        'data_document',
+        'database_registry',
+        'date',
+        'dateandtime',
+        'dbgp_packet',
+        'dbgp_server',
+        'debugging_stack',
+        'decimal',
+        'delve',
+        'dir',
+        'dirdesc',
+        'dns_response',
+        'document_base',
+        'document_body',
+        'document_header',
+        'dsinfo',
+        'duration',
+        'eacher',
+        'email_compose',
+        'email_parse',
+        'email_pop',
+        'email_queue_impl_base',
+        'email_queue_impl',
+        'email_smtp',
+        'email_stage_impl_base',
+        'email_stage_impl',
+        'fastcgi_each_fcgi_param',
+        'fastcgi_server',
+        'fcgi_record',
+        'fcgi_request',
+        'file',
+        'filedesc',
+        'filemaker_datasource',
+        'generateforeachkeyed',
+        'generateforeachunkeyed',
+        'generateseries',
+        'hash_map',
+        'html_atomic_element',
+        'html_attr',
+        'html_base',
+        'html_binary',
+        'html_br',
+        'html_cdata',
+        'html_container_element',
+        'html_div',
+        'html_document_body',
+        'html_document_head',
+        'html_eol',
+        'html_fieldset',
+        'html_form',
+        'html_h1',
+        'html_h2',
+        'html_h3',
+        'html_h4',
+        'html_h5',
+        'html_h6',
+        'html_hr',
+        'html_img',
+        'html_input',
+        'html_json',
+        'html_label',
+        'html_legend',
+        'html_link',
+        'html_meta',
+        'html_object',
+        'html_option',
+        'html_raw',
+        'html_script',
+        'html_select',
+        'html_span',
+        'html_style',
+        'html_table',
+        'html_td',
+        'html_text',
+        'html_th',
+        'html_tr',
+        'http_document_header',
+        'http_document',
+        'http_error',
+        'http_header_field',
+        'http_server_connection_handler_globals',
+        'http_server_connection_handler',
+        'http_server_request_logger_thread',
+        'http_server_web_connection',
+        'http_server',
+        'image',
+        'include_cache',
+        'inline_type',
+        'integer',
+        'java_jnienv',
+        'jbyte',
+        'jbytearray',
+        'jchar',
+        'jchararray',
+        'jfieldid',
+        'jfloat',
+        'jint',
+        'jmethodid',
+        'jobject',
+        'jshort',
+        'json_decode',
+        'json_encode',
+        'json_literal',
+        'json_object',
+        'keyword',
+        'lassoapp_compiledsrc_appsource',
+        'lassoapp_compiledsrc_fileresource',
+        'lassoapp_content_rep_halt',
+        'lassoapp_dirsrc_appsource',
+        'lassoapp_dirsrc_fileresource',
+        'lassoapp_installer',
+        'lassoapp_livesrc_appsource',
+        'lassoapp_livesrc_fileresource',
+        'lassoapp_long_expiring_bytes',
+        'lassoapp_manualsrc_appsource',
+        'lassoapp_zip_file_server',
+        'lassoapp_zipsrc_appsource',
+        'lassoapp_zipsrc_fileresource',
+        'ldap',
+        'library_thread_loader',
+        'list_node',
+        'list',
+        'locale',
+        'log_impl_base',
+        'log_impl',
+        'magick_image',
+        'map_node',
+        'map',
+        'memberstream',
+        'memory_session_driver_impl_entry',
+        'memory_session_driver_impl',
+        'memory_session_driver',
+        'mime_reader',
+        'mongo_client',
+        'mongo_collection',
+        'mongo_cursor',
+        'mustache_ctx',
+        'mysql_session_driver_impl',
+        'mysql_session_driver',
+        'net_named_pipe',
+        'net_tcp_ssl',
+        'net_tcp',
+        'net_udp_packet',
+        'net_udp',
+        'null',
+        'odbc_session_driver_impl',
+        'odbc_session_driver',
+        'opaque',
+        'os_process',
+        'pair_compare',
+        'pair',
+        'pairup',
+        'pdf_barcode',
+        'pdf_chunk',
+        'pdf_color',
+        'pdf_doc',
+        'pdf_font',
+        'pdf_hyphenator',
+        'pdf_image',
+        'pdf_list',
+        'pdf_paragraph',
+        'pdf_phrase',
+        'pdf_read',
+        'pdf_table',
+        'pdf_text',
+        'pdf_typebase',
+        'percent',
+        'portal_impl',
+        'queriable_groupby',
+        'queriable_grouping',
+        'queriable_groupjoin',
+        'queriable_join',
+        'queriable_orderby',
+        'queriable_orderbydescending',
+        'queriable_select',
+        'queriable_selectmany',
+        'queriable_skip',
+        'queriable_take',
+        'queriable_thenby',
+        'queriable_thenbydescending',
+        'queriable_where',
+        'queue',
+        'raw_document_body',
+        'regexp',
+        'repeat',
+        'scientific',
+        'security_registry',
+        'serialization_element',
+        'serialization_object_identity_compare',
+        'serialization_reader',
+        'serialization_writer_ref',
+        'serialization_writer_standin',
+        'serialization_writer',
+        'session_delete_expired_thread',
+        'set',
+        'signature',
+        'sourcefile',
+        'sqlite_column',
+        'sqlite_currentrow',
+        'sqlite_db',
+        'sqlite_results',
+        'sqlite_session_driver_impl_entry',
+        'sqlite_session_driver_impl',
+        'sqlite_session_driver',
+        'sqlite_table',
+        'sqlite3_stmt',
+        'sqlite3',
+        'staticarray',
+        'string',
+        'sys_process',
+        'tag',
+        'text_document',
+        'tie',
+        'timeonly',
+        'trait',
+        'tree_base',
+        'tree_node',
+        'tree_nullnode',
+        'ucal',
+        'usgcpu',
+        'usgvm',
+        'void',
+        'web_error_atend',
+        'web_node_base',
+        'web_node_content_representation_css_specialized',
+        'web_node_content_representation_html_specialized',
+        'web_node_content_representation_js_specialized',
+        'web_node_content_representation_xhr_container',
+        'web_node_echo',
+        'web_node_root',
+        'web_request_impl',
+        'web_request',
+        'web_response_impl',
+        'web_response',
+        'web_router',
+        'websocket_handler',
+        'worker_pool',
+        'xml_attr',
+        'xml_cdatasection',
+        'xml_characterdata',
+        'xml_comment',
+        'xml_document',
+        'xml_documentfragment',
+        'xml_documenttype',
+        'xml_domimplementation',
+        'xml_element',
+        'xml_entity',
+        'xml_entityreference',
+        'xml_namednodemap_attr',
+        'xml_namednodemap_ht',
+        'xml_namednodemap',
+        'xml_node',
+        'xml_nodelist',
+        'xml_notation',
+        'xml_processinginstruction',
+        'xml_text',
+        'xmlstream',
+        'zip_file_impl',
+        'zip_file',
+        'zip_impl',
+        'zip',
+    ),
+    'Traits': (
+        'any',
+        'formattingbase',
+        'html_attributed',
+        'html_element_coreattrs',
+        'html_element_eventsattrs',
+        'html_element_i18nattrs',
+        'lassoapp_capabilities',
+        'lassoapp_resource',
+        'lassoapp_source',
+        'queriable_asstring',
+        'session_driver',
+        'trait_array',
+        'trait_asstring',
+        'trait_backcontractible',
+        'trait_backended',
+        'trait_backexpandable',
+        'trait_close',
+        'trait_contractible',
+        'trait_decompose_assignment',
+        'trait_doubleended',
+        'trait_each_sub',
+        'trait_encodeurl',
+        'trait_endedfullymutable',
+        'trait_expandable',
+        'trait_file',
+        'trait_finite',
+        'trait_finiteforeach',
+        'trait_foreach',
+        'trait_foreachtextelement',
+        'trait_frontcontractible',
+        'trait_frontended',
+        'trait_frontexpandable',
+        'trait_fullymutable',
+        'trait_generator',
+        'trait_generatorcentric',
+        'trait_hashable',
+        'trait_json_serialize',
+        'trait_keyed',
+        'trait_keyedfinite',
+        'trait_keyedforeach',
+        'trait_keyedmutable',
+        'trait_list',
+        'trait_map',
+        'trait_net',
+        'trait_pathcomponents',
+        'trait_positionallykeyed',
+        'trait_positionallysearchable',
+        'trait_queriable',
+        'trait_queriablelambda',
+        'trait_readbytes',
+        'trait_readstring',
+        'trait_scalar',
+        'trait_searchable',
+        'trait_serializable',
+        'trait_setencoding',
+        'trait_setoperations',
+        'trait_stack',
+        'trait_treenode',
+        'trait_writebytes',
+        'trait_writestring',
+        'trait_xml_elementcompat',
+        'trait_xml_nodecompat',
+        'web_connection',
+        'web_node_container',
+        'web_node_content_css_specialized',
+        'web_node_content_document',
+        'web_node_content_html_specialized',
+        'web_node_content_js_specialized',
+        'web_node_content_json_specialized',
+        'web_node_content_representation',
+        'web_node_content',
+        'web_node_postable',
+        'web_node',
+    ),
+    'Unbound Methods': (
+        'abort_clear',
+        'abort_now',
+        'abort',
+        'action_param',
+        'action_params',
+        'action_statement',
+        'admin_authorization',
+        'admin_currentgroups',
+        'admin_currentuserid',
+        'admin_currentusername',
+        'admin_getpref',
+        'admin_initialize',
+        'admin_lassoservicepath',
+        'admin_removepref',
+        'admin_setpref',
+        'admin_userexists',
+        'all',
+        'auth_admin',
+        'auth_check',
+        'auth_custom',
+        'auth_group',
+        'auth_prompt',
+        'auth_user',
+        'bom_utf16be',
+        'bom_utf16le',
+        'bom_utf32be',
+        'bom_utf32le',
+        'bom_utf8',
+        'bw',
+        'capture_nearestloopabort',
+        'capture_nearestloopcontinue',
+        'capture_nearestloopcount',
+        'checked',
+        'cipher_decrypt_private',
+        'cipher_decrypt_public',
+        'cipher_decrypt',
+        'cipher_digest',
+        'cipher_encrypt_private',
+        'cipher_encrypt_public',
+        'cipher_encrypt',
+        'cipher_generate_key',
+        'cipher_hmac',
+        'cipher_keylength',
+        'cipher_list',
+        'cipher_open',
+        'cipher_seal',
+        'cipher_sign',
+        'cipher_verify',
+        'client_addr',
+        'client_authorization',
+        'client_browser',
+        'client_contentlength',
+        'client_contenttype',
+        'client_cookielist',
+        'client_cookies',
+        'client_encoding',
+        'client_formmethod',
+        'client_getargs',
+        'client_getparam',
+        'client_getparams',
+        'client_headers',
+        'client_integertoip',
+        'client_iptointeger',
+        'client_password',
+        'client_postargs',
+        'client_postparam',
+        'client_postparams',
+        'client_type',
+        'client_url',
+        'client_username',
+        'cn',
+        'column_name',
+        'column_names',
+        'column_type',
+        'column',
+        'compress',
+        'content_addheader',
+        'content_body',
+        'content_encoding',
+        'content_header',
+        'content_replaceheader',
+        'content_type',
+        'cookie_set',
+        'cookie',
+        'curl_easy_cleanup',
+        'curl_easy_duphandle',
+        'curl_easy_getinfo',
+        'curl_easy_init',
+        'curl_easy_reset',
+        'curl_easy_setopt',
+        'curl_easy_strerror',
+        'curl_getdate',
+        'curl_http_version_1_0',
+        'curl_http_version_1_1',
+        'curl_http_version_none',
+        'curl_ipresolve_v4',
+        'curl_ipresolve_v6',
+        'curl_ipresolve_whatever',
+        'curl_multi_perform',
+        'curl_multi_result',
+        'curl_netrc_ignored',
+        'curl_netrc_optional',
+        'curl_netrc_required',
+        'curl_version_asynchdns',
+        'curl_version_debug',
+        'curl_version_gssnegotiate',
+        'curl_version_idn',
+        'curl_version_info',
+        'curl_version_ipv6',
+        'curl_version_kerberos4',
+        'curl_version_largefile',
+        'curl_version_libz',
+        'curl_version_ntlm',
+        'curl_version_spnego',
+        'curl_version_ssl',
+        'curl_version',
+        'curlauth_any',
+        'curlauth_anysafe',
+        'curlauth_basic',
+        'curlauth_digest',
+        'curlauth_gssnegotiate',
+        'curlauth_none',
+        'curlauth_ntlm',
+        'curle_aborted_by_callback',
+        'curle_bad_calling_order',
+        'curle_bad_content_encoding',
+        'curle_bad_download_resume',
+        'curle_bad_function_argument',
+        'curle_bad_password_entered',
+        'curle_couldnt_connect',
+        'curle_couldnt_resolve_host',
+        'curle_couldnt_resolve_proxy',
+        'curle_failed_init',
+        'curle_file_couldnt_read_file',
+        'curle_filesize_exceeded',
+        'curle_ftp_access_denied',
+        'curle_ftp_cant_get_host',
+        'curle_ftp_cant_reconnect',
+        'curle_ftp_couldnt_get_size',
+        'curle_ftp_couldnt_retr_file',
+        'curle_ftp_couldnt_set_ascii',
+        'curle_ftp_couldnt_set_binary',
+        'curle_ftp_couldnt_use_rest',
+        'curle_ftp_port_failed',
+        'curle_ftp_quote_error',
+        'curle_ftp_ssl_failed',
+        'curle_ftp_user_password_incorrect',
+        'curle_ftp_weird_227_format',
+        'curle_ftp_weird_pass_reply',
+        'curle_ftp_weird_pasv_reply',
+        'curle_ftp_weird_server_reply',
+        'curle_ftp_weird_user_reply',
+        'curle_ftp_write_error',
+        'curle_function_not_found',
+        'curle_got_nothing',
+        'curle_http_post_error',
+        'curle_http_range_error',
+        'curle_http_returned_error',
+        'curle_interface_failed',
+        'curle_ldap_cannot_bind',
+        'curle_ldap_invalid_url',
+        'curle_ldap_search_failed',
+        'curle_library_not_found',
+        'curle_login_denied',
+        'curle_malformat_user',
+        'curle_obsolete',
+        'curle_ok',
+        'curle_operation_timeouted',
+        'curle_out_of_memory',
+        'curle_partial_file',
+        'curle_read_error',
+        'curle_recv_error',
+        'curle_send_error',
+        'curle_send_fail_rewind',
+        'curle_share_in_use',
+        'curle_ssl_cacert',
+        'curle_ssl_certproblem',
+        'curle_ssl_cipher',
+        'curle_ssl_connect_error',
+        'curle_ssl_engine_initfailed',
+        'curle_ssl_engine_notfound',
+        'curle_ssl_engine_setfailed',
+        'curle_ssl_peer_certificate',
+        'curle_telnet_option_syntax',
+        'curle_too_many_redirects',
+        'curle_unknown_telnet_option',
+        'curle_unsupported_protocol',
+        'curle_url_malformat_user',
+        'curle_url_malformat',
+        'curle_write_error',
+        'curlftpauth_default',
+        'curlftpauth_ssl',
+        'curlftpauth_tls',
+        'curlftpssl_all',
+        'curlftpssl_control',
+        'curlftpssl_last',
+        'curlftpssl_none',
+        'curlftpssl_try',
+        'curlinfo_connect_time',
+        'curlinfo_content_length_download',
+        'curlinfo_content_length_upload',
+        'curlinfo_content_type',
+        'curlinfo_effective_url',
+        'curlinfo_filetime',
+        'curlinfo_header_size',
+        'curlinfo_http_connectcode',
+        'curlinfo_httpauth_avail',
+        'curlinfo_namelookup_time',
+        'curlinfo_num_connects',
+        'curlinfo_os_errno',
+        'curlinfo_pretransfer_time',
+        'curlinfo_proxyauth_avail',
+        'curlinfo_redirect_count',
+        'curlinfo_redirect_time',
+        'curlinfo_request_size',
+        'curlinfo_response_code',
+        'curlinfo_size_download',
+        'curlinfo_size_upload',
+        'curlinfo_speed_download',
+        'curlinfo_speed_upload',
+        'curlinfo_ssl_engines',
+        'curlinfo_ssl_verifyresult',
+        'curlinfo_starttransfer_time',
+        'curlinfo_total_time',
+        'curlmsg_done',
+        'curlopt_autoreferer',
+        'curlopt_buffersize',
+        'curlopt_cainfo',
+        'curlopt_capath',
+        'curlopt_connecttimeout',
+        'curlopt_cookie',
+        'curlopt_cookiefile',
+        'curlopt_cookiejar',
+        'curlopt_cookiesession',
+        'curlopt_crlf',
+        'curlopt_customrequest',
+        'curlopt_dns_use_global_cache',
+        'curlopt_egdsocket',
+        'curlopt_encoding',
+        'curlopt_failonerror',
+        'curlopt_filetime',
+        'curlopt_followlocation',
+        'curlopt_forbid_reuse',
+        'curlopt_fresh_connect',
+        'curlopt_ftp_account',
+        'curlopt_ftp_create_missing_dirs',
+        'curlopt_ftp_response_timeout',
+        'curlopt_ftp_ssl',
+        'curlopt_ftp_use_eprt',
+        'curlopt_ftp_use_epsv',
+        'curlopt_ftpappend',
+        'curlopt_ftplistonly',
+        'curlopt_ftpport',
+        'curlopt_ftpsslauth',
+        'curlopt_header',
+        'curlopt_http_version',
+        'curlopt_http200aliases',
+        'curlopt_httpauth',
+        'curlopt_httpget',
+        'curlopt_httpheader',
+        'curlopt_httppost',
+        'curlopt_httpproxytunnel',
+        'curlopt_infilesize_large',
+        'curlopt_infilesize',
+        'curlopt_interface',
+        'curlopt_ipresolve',
+        'curlopt_krb4level',
+        'curlopt_low_speed_limit',
+        'curlopt_low_speed_time',
+        'curlopt_mail_from',
+        'curlopt_mail_rcpt',
+        'curlopt_maxconnects',
+        'curlopt_maxfilesize_large',
+        'curlopt_maxfilesize',
+        'curlopt_maxredirs',
+        'curlopt_netrc_file',
+        'curlopt_netrc',
+        'curlopt_nobody',
+        'curlopt_noprogress',
+        'curlopt_port',
+        'curlopt_post',
+        'curlopt_postfields',
+        'curlopt_postfieldsize_large',
+        'curlopt_postfieldsize',
+        'curlopt_postquote',
+        'curlopt_prequote',
+        'curlopt_proxy',
+        'curlopt_proxyauth',
+        'curlopt_proxyport',
+        'curlopt_proxytype',
+        'curlopt_proxyuserpwd',
+        'curlopt_put',
+        'curlopt_quote',
+        'curlopt_random_file',
+        'curlopt_range',
+        'curlopt_readdata',
+        'curlopt_referer',
+        'curlopt_resume_from_large',
+        'curlopt_resume_from',
+        'curlopt_ssl_cipher_list',
+        'curlopt_ssl_verifyhost',
+        'curlopt_ssl_verifypeer',
+        'curlopt_sslcert',
+        'curlopt_sslcerttype',
+        'curlopt_sslengine_default',
+        'curlopt_sslengine',
+        'curlopt_sslkey',
+        'curlopt_sslkeypasswd',
+        'curlopt_sslkeytype',
+        'curlopt_sslversion',
+        'curlopt_tcp_nodelay',
+        'curlopt_timecondition',
+        'curlopt_timeout',
+        'curlopt_timevalue',
+        'curlopt_transfertext',
+        'curlopt_unrestricted_auth',
+        'curlopt_upload',
+        'curlopt_url',
+        'curlopt_use_ssl',
+        'curlopt_useragent',
+        'curlopt_userpwd',
+        'curlopt_verbose',
+        'curlopt_writedata',
+        'curlproxy_http',
+        'curlproxy_socks4',
+        'curlproxy_socks5',
+        'database_adddefaultsqlitehost',
+        'database_database',
+        'database_initialize',
+        'database_name',
+        'database_qs',
+        'database_table_database_tables',
+        'database_table_datasource_databases',
+        'database_table_datasource_hosts',
+        'database_table_datasources',
+        'database_table_table_fields',
+        'database_util_cleanpath',
+        'dbgp_stop_stack_name',
+        'debugging_break',
+        'debugging_breakpoint_get',
+        'debugging_breakpoint_list',
+        'debugging_breakpoint_remove',
+        'debugging_breakpoint_set',
+        'debugging_breakpoint_update',
+        'debugging_context_locals',
+        'debugging_context_self',
+        'debugging_context_vars',
+        'debugging_detach',
+        'debugging_enabled',
+        'debugging_get_context',
+        'debugging_get_stack',
+        'debugging_run',
+        'debugging_step_in',
+        'debugging_step_out',
+        'debugging_step_over',
+        'debugging_stop',
+        'debugging_terminate',
+        'decimal_random',
+        'decompress',
+        'decrypt_blowfish',
+        'define_atbegin',
+        'define_atend',
+        'dns_default',
+        'dns_lookup',
+        'document',
+        'email_attachment_mime_type',
+        'email_batch',
+        'email_digestchallenge',
+        'email_digestresponse',
+        'email_extract',
+        'email_findemails',
+        'email_fix_address_list',
+        'email_fix_address',
+        'email_fs_error_clean',
+        'email_immediate',
+        'email_initialize',
+        'email_merge',
+        'email_mxlookup',
+        'email_pop_priv_extract',
+        'email_pop_priv_quote',
+        'email_pop_priv_substring',
+        'email_queue',
+        'email_result',
+        'email_safeemail',
+        'email_send',
+        'email_status',
+        'email_token',
+        'email_translatebreakstocrlf',
+        'encode_qheader',
+        'encoding_iso88591',
+        'encoding_utf8',
+        'encrypt_blowfish',
+        'encrypt_crammd5',
+        'encrypt_hmac',
+        'encrypt_md5',
+        'eol',
+        'eq',
+        'error_code_aborted',
+        'error_code_dividebyzero',
+        'error_code_filenotfound',
+        'error_code_invalidparameter',
+        'error_code_methodnotfound',
+        'error_code_networkerror',
+        'error_code_noerror',
+        'error_code_resnotfound',
+        'error_code_runtimeassertion',
+        'error_code',
+        'error_msg_aborted',
+        'error_msg_dividebyzero',
+        'error_msg_filenotfound',
+        'error_msg_invalidparameter',
+        'error_msg_methodnotfound',
+        'error_msg_networkerror',
+        'error_msg_noerror',
+        'error_msg_resnotfound',
+        'error_msg_runtimeassertion',
+        'error_msg',
+        'error_obj',
+        'error_pop',
+        'error_push',
+        'error_reset',
+        'error_stack',
+        'escape_tag',
+        'evdns_resolve_ipv4',
+        'evdns_resolve_ipv6',
+        'evdns_resolve_reverse_ipv6',
+        'evdns_resolve_reverse',
+        'ew',
+        'fail_if',
+        'fail_ifnot',
+        'fail_now',
+        'fail',
+        'failure_clear',
+        'fastcgi_createfcgirequest',
+        'fastcgi_handlecon',
+        'fastcgi_handlereq',
+        'fastcgi_initialize',
+        'fastcgi_initiate_request',
+        'fcgi_abort_request',
+        'fcgi_authorize',
+        'fcgi_begin_request',
+        'fcgi_bodychunksize',
+        'fcgi_cant_mpx_conn',
+        'fcgi_data',
+        'fcgi_end_request',
+        'fcgi_filter',
+        'fcgi_get_values_result',
+        'fcgi_get_values',
+        'fcgi_keep_conn',
+        'fcgi_makeendrequestbody',
+        'fcgi_makestdoutbody',
+        'fcgi_max_conns',
+        'fcgi_max_reqs',
+        'fcgi_mpxs_conns',
+        'fcgi_null_request_id',
+        'fcgi_overloaded',
+        'fcgi_params',
+        'fcgi_read_timeout_seconds',
+        'fcgi_readparam',
+        'fcgi_request_complete',
+        'fcgi_responder',
+        'fcgi_stderr',
+        'fcgi_stdin',
+        'fcgi_stdout',
+        'fcgi_unknown_role',
+        'fcgi_unknown_type',
+        'fcgi_version_1',
+        'fcgi_x_stdin',
+        'field_name',
+        'field_names',
+        'field',
+        'file_copybuffersize',
+        'file_defaultencoding',
+        'file_forceroot',
+        'file_modechar',
+        'file_modeline',
+        'file_stderr',
+        'file_stdin',
+        'file_stdout',
+        'file_tempfile',
+        'filemakerds_initialize',
+        'filemakerds',
+        'found_count',
+        'ft',
+        'ftp_deletefile',
+        'ftp_getdata',
+        'ftp_getfile',
+        'ftp_getlisting',
+        'ftp_putdata',
+        'ftp_putfile',
+        'full',
+        'generateforeach',
+        'gt',
+        'gte',
+        'handle_failure',
+        'handle',
+        'hash_primes',
+        'html_comment',
+        'http_char_colon',
+        'http_char_cr',
+        'http_char_htab',
+        'http_char_lf',
+        'http_char_question',
+        'http_char_space',
+        'http_default_files',
+        'http_read_headers',
+        'http_read_timeout_secs',
+        'http_server_apps_path',
+        'http_server_request_logger',
+        'if_empty',
+        'if_false',
+        'if_null',
+        'if_true',
+        'include_cache_compare',
+        'include_currentpath',
+        'include_filepath',
+        'include_localpath',
+        'include_once',
+        'include_path',
+        'include_raw',
+        'include_url',
+        'include',
+        'includes',
+        'inline_colinfo_name_pos',
+        'inline_colinfo_type_pos',
+        'inline_colinfo_valuelist_pos',
+        'inline_columninfo_pos',
+        'inline_foundcount_pos',
+        'inline_namedget',
+        'inline_namedput',
+        'inline_resultrows_pos',
+        'inline_scopeget',
+        'inline_scopepop',
+        'inline_scopepush',
+        'inline',
+        'integer_bitor',
+        'integer_random',
+        'io_dir_dt_blk',
+        'io_dir_dt_chr',
+        'io_dir_dt_dir',
+        'io_dir_dt_fifo',
+        'io_dir_dt_lnk',
+        'io_dir_dt_reg',
+        'io_dir_dt_sock',
+        'io_dir_dt_unknown',
+        'io_dir_dt_wht',
+        'io_file_access',
+        'io_file_chdir',
+        'io_file_chmod',
+        'io_file_chown',
+        'io_file_dirname',
+        'io_file_f_dupfd',
+        'io_file_f_getfd',
+        'io_file_f_getfl',
+        'io_file_f_getlk',
+        'io_file_f_rdlck',
+        'io_file_f_setfd',
+        'io_file_f_setfl',
+        'io_file_f_setlk',
+        'io_file_f_setlkw',
+        'io_file_f_test',
+        'io_file_f_tlock',
+        'io_file_f_ulock',
+        'io_file_f_unlck',
+        'io_file_f_wrlck',
+        'io_file_fd_cloexec',
+        'io_file_fioasync',
+        'io_file_fioclex',
+        'io_file_fiodtype',
+        'io_file_fiogetown',
+        'io_file_fionbio',
+        'io_file_fionclex',
+        'io_file_fionread',
+        'io_file_fiosetown',
+        'io_file_getcwd',
+        'io_file_lchown',
+        'io_file_link',
+        'io_file_lockf',
+        'io_file_lstat_atime',
+        'io_file_lstat_mode',
+        'io_file_lstat_mtime',
+        'io_file_lstat_size',
+        'io_file_mkdir',
+        'io_file_mkfifo',
+        'io_file_mkstemp',
+        'io_file_o_append',
+        'io_file_o_async',
+        'io_file_o_creat',
+        'io_file_o_excl',
+        'io_file_o_exlock',
+        'io_file_o_fsync',
+        'io_file_o_nofollow',
+        'io_file_o_nonblock',
+        'io_file_o_rdonly',
+        'io_file_o_rdwr',
+        'io_file_o_shlock',
+        'io_file_o_sync',
+        'io_file_o_trunc',
+        'io_file_o_wronly',
+        'io_file_pipe',
+        'io_file_readlink',
+        'io_file_realpath',
+        'io_file_remove',
+        'io_file_rename',
+        'io_file_rmdir',
+        'io_file_s_ifblk',
+        'io_file_s_ifchr',
+        'io_file_s_ifdir',
+        'io_file_s_ififo',
+        'io_file_s_iflnk',
+        'io_file_s_ifmt',
+        'io_file_s_ifreg',
+        'io_file_s_ifsock',
+        'io_file_s_irgrp',
+        'io_file_s_iroth',
+        'io_file_s_